Compare commits

...

161 Commits
3.1.6 ... 3.0.1

Author SHA1 Message Date
Stephan Raue
34251ce19e config/version: set version to 3.0.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-16 21:34:50 +02:00
Stephan Raue
7bec817c62 xbmc: update to xbmc-12.1.6
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-16 19:06:14 +02:00
Stephan Raue
558aaffd5a bcm2835-bootloader: fill INSTALL file with some infos
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-16 16:20:40 +02:00
Stephan Raue
86724c9b87 pmtools: update to pmtools-20110323
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-16 16:16:10 +02:00
Daniel Forsberg
46a1abc03c lirc_rpi: added vista mce, some Harmonys use this. and changed BACK to EXIT, it is missing in Lircmap.xml 2013-04-15 21:38:39 +02:00
Stephan Raue
6308070ac2 xbmc: update to xbmc-12.1.5
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-15 19:52:55 +02:00
Stephan Raue
8c476b3056 boost: update to boost-1_53_0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-15 18:10:26 +02:00
Stephan Raue
30d5dda637 diskdev_cmds: readd fsck udev rule
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-14 21:05:53 +02:00
Roger James
f85652573f Fix for issue #1987 The problem exists in the jmicron 1.0.8.5 source. The problem has been fixed in the vanilla kernel. This patch file appears to be generated by diffing the vanilla kernel source and the jmicron source, thus introducing the problem to the build. This changeset edits the patch file to remove the problem. This is not ideal as this fix will be easily lost if a new patch file is generated. The best solution would be to fix the problem in the original jmicron source. However this dpoes not appear to possible at the moment. 2013-04-14 19:54:01 +02:00
Stephan Raue
1db6430a0c linux: add network related upstream patches, backported from 3.8.7
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-14 17:16:01 +02:00
Stefan Saraev
5bd4e7e1bb dvb-firmware: update to dvb-firmware-0.0.33 2013-04-14 16:55:06 +02:00
Stephan Raue
10e3f72ede linux: add upstream patches, backported from 3.8.7
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-14 16:54:10 +02:00
Stephan Raue
6efdba41f7 alsa-lib: update to alsa-lib-1.0.27
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-13 18:28:46 +02:00
Stephan Raue
449394cfd6 alsa-plugins: update to alsa-plugins-1.0.27
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-13 18:28:18 +02:00
Stephan Raue
ff6f06149f alsa-utils: update to alsa-utils-1.0.27
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-13 18:27:59 +02:00
Stephan Raue
919d71078b ffmpeg: move patches in own versioning dir
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-13 10:44:51 +02:00
Stephan Raue
2a2a8cda2c gcc: update to gcc-4.7.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-13 10:43:39 +02:00
Stephan Raue
f55a83afcb xbmc: rename patches, cleanup patch order
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-11 15:01:08 +02:00
Stephan Raue
3ce4418833 xbmc: update XVBA/VDPAU patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-11 15:00:44 +02:00
Stephan Raue
cf2f80badf xbmc: update to xbmc-12.1.4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-11 15:00:37 +02:00
Stephan Raue
307cf64bfb xbmc: add PR2558
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-10 01:05:31 +02:00
Stephan Raue
0e5e0a9e04 xbmc: add PR2581
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-10 01:04:47 +02:00
Stephan Raue
83688801c7 config/version: set version back to 'devel'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-09 21:52:10 +02:00
Stephan Raue
fcaac62c5f xbmc: update to xbmc-12.1.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-09 19:50:26 +02:00
Stephan Raue
b96a7982ac xbmc: update to xbmc-12.1.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-09 19:47:12 +02:00
Stephan Raue
74881c1fd2 xbmc: readd Hi10p patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:56:55 +02:00
Stephan Raue
593b769300 systemd: update to systemd-200
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:21:52 +02:00
Stephan Raue
477ade7b16 inputproto: update to inputproto-2.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:20:39 +02:00
Stephan Raue
036bcad109 libXi: depends on package 'inputproto'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:20:21 +02:00
Stephan Raue
473b14446a xproto: update to xproto-7.0.24
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:20:02 +02:00
Stephan Raue
ce45d89896 libXi: update to libXi-1.7.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:19:46 +02:00
Stephan Raue
321b9dcd34 xf86-video-intel: update to xf86-video-intel-2.21.6
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:19:22 +02:00
Stephan Raue
950033c06e xbmc: move 12.1 patches to own dir
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:15:32 +02:00
Stephan Raue
a18834178b xbmc: add PR2539
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:14:34 +02:00
Stephan Raue
14c18a2de5 xbmc: add PR2491
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:14:14 +02:00
Stephan Raue
9553f6c11c xbmc: add PR2459
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-08 16:13:53 +02:00
Stephan Raue
22b62bed59 xbmc: add some upstream fixes
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-07 13:35:33 +02:00
Stephan Raue
d1ff72f766 xbmc: add PR2435
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-07 13:35:13 +02:00
Stephan Raue
32502a5cf6 xbmc: add PR2549
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-07 13:34:54 +02:00
Stephan Raue
6fa2333414 xbmc: add PR2537
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-07 13:34:35 +02:00
Stephan Raue
152ceec969 xbmc: add dvdplayer fixes, sync omxplayer with dvdplayer
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-07 13:34:07 +02:00
vpeter4
6fbb705947 acpica: no need to crosscompile patch 2013-04-07 13:33:17 +02:00
Dag Wieers
0e0a7de92f Add a newline at the end of the file, without it it seems to fail ? 2013-04-07 13:32:58 +02:00
Stephan Raue
f02dead4a7 acpica: update to acpica-unix2-20130328
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-07 13:32:33 +02:00
Stephan Raue
ed1cb4be13 bcm2835-bootloader: update to bcm2835-bootloader-baa3ecf
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 14:46:52 +02:00
Stephan Raue
29092e2ce5 bcm2835-driver: update to bcm2835-driver-baa3ecf
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 14:46:31 +02:00
Stephan Raue
114a9fb370 projects/RPi/patches/linux: update RPi patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 14:45:59 +02:00
Stephan Raue
9d21adb6f3 linux-3.6.11: cleanup not needed patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 14:43:18 +02:00
Stephan Raue
a36921fbe6 xbmc: add various upstream patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 12:05:36 +02:00
Stefan Saraev
c8f3e6708b dvb-firmware: update to dvb-firmware-0.0.32 2013-04-05 12:05:17 +02:00
Stefan Saraev
6256e166aa xbmc: add PR2505 2013-04-05 12:04:44 +02:00
Stephan Raue
a3c3fa5cce ppl: update to ppl-1.1pre7
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 12:04:24 +02:00
Stephan Raue
573e184cf5 gmp: update to gmp-5.1.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 12:04:08 +02:00
vpeter4
fe325e7aed gettext: do not use emacs 2013-04-05 12:03:43 +02:00
Stephan Raue
b088522f57 systemd: update to systemd-199
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-04-05 12:02:36 +02:00
Stephan Raue
12f55ac1c6 Revert "binutils: update to binutils-2.23.2"
This reverts commit 2c4bfc4696.

This fixes compiling issues with package 'gmp' for 'arm'
2013-03-28 23:01:20 +01:00
Stefan Saraev
b70a270365 tvheadend: update to tvheadend-3.3.511 2013-03-28 22:59:53 +01:00
vpeter4
a1a9217f8e linux: support for TechniSat SkyStar S2 card with CX24120-13Z frontend this closes #2100, discussion http://openelec.tv/forum/83-dvb-s-s2-support/63061-technisat-skystar-s2-pci-not-supported#66807 patch from Jannis Achstetter http://patchwork.linuxtv.org/patch/10575/ originally made by Sergey Tyurin 2013-03-28 22:58:49 +01:00
Christian Hewitt
91aa5ed603 projects/ATV: add xorg defaults for Component/HDMI
ensures Xorg selects 1080p for HDMI and 720p for Component when available (Component 1080i can be selected within XBMC if the TV can handle it, not all can)
2013-03-28 22:58:11 +01:00
Stephan Raue
f298846adb Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-27 02:02:06 +01:00
Stephan Raue
767ec892e2 config/version: fix last commit
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-03-25 00:48:42 +01:00
Stephan Raue
07063e9a40 config/version: set version to 3.0.0 (OpenELEC-3.0 Final)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-03-25 00:45:54 +01:00
Stephan Raue
0121c1e36b Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-24 23:19:17 +01:00
Stephan Raue
7262ed18e4 CHANGELOG: update CHANGELOG
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-03-24 15:46:49 +01:00
Stephan Raue
3771c8eb3a Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-24 15:45:40 +01:00
Stephan Raue
bc003a1070 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-23 20:38:01 +01:00
Stephan Raue
5c23e3fabc Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-23 16:41:28 +01:00
Stephan Raue
15505f80ca Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-22 22:27:14 +01:00
Stephan Raue
b7852952ba Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-22 20:21:58 +01:00
Stephan Raue
1a97097a30 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-22 12:22:15 +01:00
Stephan Raue
58aaa9f266 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-22 08:00:52 +01:00
Stephan Raue
ffc8962357 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-22 07:12:12 +01:00
Stephan Raue
6069dd14c4 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-21 23:24:47 +01:00
Stephan Raue
7b4edccf81 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-21 22:13:13 +01:00
Stephan Raue
44bc649684 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-21 18:33:40 +01:00
Stephan Raue
c5dbf3d94f Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-21 05:31:54 +01:00
Stephan Raue
fa51bfcf57 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-21 05:10:59 +01:00
Stephan Raue
c546b5979a Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-20 03:37:12 +01:00
Stephan Raue
aa4fbd7ab1 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-20 01:29:41 +01:00
Stephan Raue
82eb3158ae Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-20 00:08:38 +01:00
Stephan Raue
06461b6e7e config/version: set version to 2.99.5 (OpenELEC-3.0 RC 5)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-03-12 20:48:22 +01:00
Stephan Raue
6d16dc9399 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-12 19:24:52 +01:00
Stephan Raue
efa8c1d95a Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-12 18:06:04 +01:00
Stephan Raue
a0c977ddfe Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-12 16:06:37 +01:00
Stephan Raue
945a7f338f Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-11 19:19:19 +01:00
Stephan Raue
0849a34c75 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-11 15:46:20 +01:00
Stephan Raue
77f8e89bfe Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-10 14:04:20 +01:00
Stephan Raue
8db2e6705e config/version: set version to 2.99.4 (OpenELEC-3.0 RC 4)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-03-01 22:22:44 +01:00
Stephan Raue
4448113a7b Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-01 20:07:44 +01:00
Stephan Raue
bb5c5509f1 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-01 18:49:46 +01:00
Stephan Raue
160ce21140 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-01 17:59:52 +01:00
Stephan Raue
792e217186 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-03-01 06:58:01 +01:00
Stephan Raue
4ed7faeba3 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-28 11:38:45 +01:00
Stephan Raue
59c41e76a1 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-27 04:23:55 +01:00
Stephan Raue
3f3e198c9b Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-24 23:38:54 +01:00
Stephan Raue
ccc1b39a15 config/version: set version to 2.99.3 (OpenELEC-3.0 RC 3)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-02-21 16:27:24 +01:00
Stephan Raue
ad1115e98e Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-21 16:26:13 +01:00
Stephan Raue
d9111f52a8 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-20 03:02:36 +01:00
Stephan Raue
9c410eaeef Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-19 01:07:39 +01:00
Stephan Raue
e646610990 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-18 17:56:23 +01:00
Stephan Raue
31001afd23 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-18 17:54:29 +01:00
Stephan Raue
80c6730a0f Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-17 21:42:16 +01:00
Stephan Raue
004a391f18 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-17 07:05:55 +01:00
Stephan Raue
6e9af9e243 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-17 03:26:18 +01:00
Stephan Raue
f7c8509269 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-16 20:49:47 +01:00
Stephan Raue
b768e322ed Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-16 18:28:44 +01:00
Stephan Raue
9029c645b0 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-15 16:16:21 +01:00
Stephan Raue
b14d6da9cb Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-15 15:56:02 +01:00
Stephan Raue
96f52fc97f Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-14 15:37:32 +01:00
Stephan Raue
d4b844a7ed Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-14 15:33:27 +01:00
Stephan Raue
60744990c3 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-13 18:15:10 +01:00
Stephan Raue
ef5d518eb9 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-13 11:43:18 +01:00
Stephan Raue
e61360c9d3 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-13 11:33:43 +01:00
Stephan Raue
2e24540df2 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-12 05:28:25 +01:00
Stephan Raue
caeb39c657 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-08 05:29:00 +01:00
Stephan Raue
a603e3bf18 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-08 01:41:15 +01:00
Stephan Raue
9cb02d21a7 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-02-06 15:23:52 +01:00
Stephan Raue
e5fa75cf69 config/version: set version to 2.99.2 (OpenELEC-3.0 RC 2)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-01-26 03:15:57 +01:00
Stephan Raue
28fe3c1b40 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-25 20:19:10 +01:00
Stephan Raue
7e1f181168 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-25 13:45:15 +01:00
Stephan Raue
708a34555a Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-24 18:12:44 +01:00
Stephan Raue
5e72c74419 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-24 15:10:09 +01:00
Stephan Raue
b3011069c5 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-22 17:49:18 +01:00
Stephan Raue
4f48a19924 config/version: set version to 2.99.1 (OpenELEC-3.0 RC 1)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-01-03 22:28:00 +01:00
Stephan Raue
86538ccb74 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-03 14:58:50 +01:00
Stephan Raue
cd452f8288 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2013-01-03 01:19:27 +01:00
Stephan Raue
7c1531f70d Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-30 23:27:21 +01:00
Stephan Raue
70064630d8 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-29 23:10:19 +01:00
Stephan Raue
1405b245ea Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-28 17:11:04 +01:00
Stephan Raue
cf7af733c3 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-21 18:43:07 +01:00
Stephan Raue
105ede1d39 config/version: set version to 2.95.6 (OpenELEC-3.0 Beta 6)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2012-12-21 18:38:12 +01:00
Stephan Raue
917724673c Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-20 16:27:58 +01:00
Stephan Raue
768b7660e0 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-20 11:24:28 +01:00
Stephan Raue
00221bea95 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-19 21:17:12 +01:00
Stephan Raue
2af93e2b15 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-19 02:50:14 +01:00
Stephan Raue
414abbc9e9 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-18 22:45:59 +01:00
Stephan Raue
4d2ca4a68b Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-17 13:57:16 +01:00
Stephan Raue
2bf67bb4b0 config/version: set version to 2.95.5 (OpenELEC-3.0 Beta 5)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2012-12-12 18:20:43 +01:00
Stephan Raue
7bccac2c21 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-12 10:31:54 +01:00
Stephan Raue
991521fbbf Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-11 20:33:16 +01:00
Stephan Raue
20c48e1fe8 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-11 14:24:59 +01:00
Stephan Raue
5a79bc7598 config/version: set version to 2.95.4 (OpenELEC-3.0 Beta 4)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2012-12-11 07:20:36 +01:00
Stephan Raue
ba633c0e65 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-08 07:58:53 +01:00
Stephan Raue
68391a604e Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-08 05:18:05 +01:00
Stephan Raue
b439e9450a Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-07 03:03:49 +01:00
Stephan Raue
e84de340b6 config/version: set version to 2.95.3 (OpenELEC-3.0 Beta 3)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2012-12-04 00:15:24 +01:00
Stephan Raue
bc365bd295 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-04 00:14:39 +01:00
Stephan Raue
21c2e30c78 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-03 22:43:37 +01:00
Stephan Raue
2d59aa423e Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-03 08:36:54 +01:00
Stephan Raue
1e1dad760a Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-03 00:39:22 +01:00
Stephan Raue
80bcd9ba72 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-02 01:24:23 +01:00
Stephan Raue
d0a3988215 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-02 00:55:46 +01:00
Stephan Raue
4db0e6a9e4 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-12-01 18:01:03 +01:00
Stephan Raue
3c1ef9bd37 config/version: set version to 2.95.2 (OpenELEC-3.0 Beta 2)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2012-11-29 14:18:04 +01:00
Stephan Raue
7f01de9350 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-11-29 06:12:01 +01:00
Stephan Raue
a9fd32bf62 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-11-28 17:53:37 +01:00
Stephan Raue
26e29e2ef1 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-11-28 06:27:23 +01:00
Stephan Raue
8e18629276 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-11-28 04:17:48 +01:00
Stephan Raue
63cc19754c Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-11-28 00:55:52 +01:00
Stephan Raue
be0fd9c615 Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.0 2012-11-26 23:09:05 +01:00
Stephan Raue
ee042d786f config/version: set version to 2.95.1 (OpenELEC-3.0 Beta 1)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2012-11-25 21:16:18 +01:00
148 changed files with 3977 additions and 27422 deletions

View File

@@ -1,20 +1,5 @@
OpenELEC (Version 2.1)
OpenELEC (Version 3.0)
Changelog OpenELEC-2.0 to OpenELEC-2.1
for a detailed Changelog from OpenELEC-2.0 to OpenELEC-3.0 see:
https://github.com/OpenELEC/OpenELEC.tv/compare/2.0.0...3.0.0
Added packages:
- add package 'ppp'
- add package 'pptp'
Package updates:
- update linux to linux-3.5
- update dialog to dialog-1.1-20120215
- update connman to connman-1.4
Added functions:
- sshd can be enabled via OpenELEC Settings addon
- add PPTP support
Changed functions:
Removed functions:

View File

@@ -1,5 +1,5 @@
# VERSION: set full version, use "devel" for development version
OPENELEC_VERSION="devel"
OPENELEC_VERSION="3.0.1"
# OS_VERSION: OS Version
OS_VERSION="3.0"

View File

@@ -1,3 +1,6 @@
3.0.7
- update to TVHeadend 3.3.511
3.0.6
- update to TVHeadend 3.3.491
- disable avahi support

View File

@@ -19,8 +19,8 @@
################################################################################
PKG_NAME="tvheadend"
PKG_VERSION="3.3.491"
PKG_REV="6"
PKG_VERSION="3.3.511"
PKG_REV="7"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html"

View File

@@ -1,48 +0,0 @@
From 30517cb122d0991f0ba51155c9afff6bdc2d8899 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Wed, 13 Mar 2013 21:30:55 +0200
Subject: [PATCH] cwc: syslog: move some log messages to debug
---
src/capmt.c | 4 ++--
src/cwc.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/capmt.c b/src/capmt.c
index ac507bd..9e12e86 100644
--- a/src/capmt.c
+++ b/src/capmt.c
@@ -547,7 +547,7 @@ handle_ca0(capmt_t* capmt) {
#endif
if(ct->ct_keystate != CT_RESOLVED)
- tvhlog(LOG_INFO, "capmt", "Obtained key for service \"%s\"",t->s_svcname);
+ tvhlog(LOG_DEBUG, "capmt", "Obtained key for service \"%s\"",t->s_svcname);
ct->ct_keystate = CT_RESOLVED;
}
@@ -851,7 +851,7 @@ capmt_table_input(struct th_descrambler *td, struct service *t,
cce->cce_ecmsize = len;
if(ct->ct_keystate != CT_RESOLVED)
- tvhlog(LOG_INFO, "capmt",
+ tvhlog(LOG_DEBUG, "capmt",
"Trying to obtain key for service \"%s\"",t->s_svcname);
buf[9] = pmtversion;
diff --git a/src/cwc.c b/src/cwc.c
index ebafd4f..904213f 100644
--- a/src/cwc.c
+++ b/src/cwc.c
@@ -873,7 +873,7 @@ forbid:
}
if(ct->cs_keystate != CS_RESOLVED)
- tvhlog(LOG_INFO, "cwc",
+ tvhlog(LOG_DEBUG, "cwc",
"Obtained key for service \"%s\" in %"PRId64" ms, from %s:%i",
t->s_svcname, delay, ct->cs_cwc->cwc_hostname,
ct->cs_cwc->cwc_port);
--
1.7.10.4

View File

@@ -1,94 +0,0 @@
From 07cdfdaf6af06ae08a779ccc9082a517757c6fd3 Mon Sep 17 00:00:00 2001
From: Adam Sutton <dev@adamsutton.me.uk>
Date: Tue, 12 Mar 2013 15:35:21 +0000
Subject: [PATCH] Fix #1660 - dvb: stop constant updating of dvb mux
configuration files
---
src/dvb/dvb_multiplex.c | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/src/dvb/dvb_multiplex.c b/src/dvb/dvb_multiplex.c
index ff61558..692ebf1 100644
--- a/src/dvb/dvb_multiplex.c
+++ b/src/dvb/dvb_multiplex.c
@@ -58,9 +58,6 @@
{ "OK", TDMI_FE_OK },
};
-static void tdmi_set_enable(th_dvb_mux_instance_t *tdmi, int enabled);
-
-
/**
*
*/
@@ -856,6 +853,9 @@ int dvb_mux_str2hier(const char *str)
if (!networkname || !*networkname)
return;
+ if (!strcmp(tdmi->tdmi_network ?: "", networkname))
+ return;
+
free(tdmi->tdmi_network);
tdmi->tdmi_network = strdup(networkname);
dvb_mux_save(tdmi);
@@ -879,8 +879,9 @@ int dvb_mux_str2hier(const char *str)
if (tdmi->tdmi_transport_stream_id != 0xFFFF || tsid == 0xFFFF)
return;
- tdmi->tdmi_transport_stream_id = tsid;
-
+ if (tdmi->tdmi_transport_stream_id == tsid)
+ return;
+
dvb_mux_save(tdmi);
m = htsmsg_create_map();
@@ -900,6 +901,9 @@ int dvb_mux_str2hier(const char *str)
if (force)
if (tdmi->tdmi_network_id != 0 || onid == 0)
return;
+
+ if (tdmi->tdmi_network_id == onid)
+ return;
tdmi->tdmi_network_id = onid;
@@ -915,13 +919,13 @@ int dvb_mux_str2hier(const char *str)
/**
*
*/
-static void
+static int
tdmi_set_enable(th_dvb_mux_instance_t *tdmi, int enabled)
{
th_dvb_adapter_t *tda = tdmi->tdmi_adapter;
if(tdmi->tdmi_enabled == enabled)
- return;
+ return 0;
if(tdmi->tdmi_enabled) {
@@ -940,6 +944,7 @@ int dvb_mux_str2hier(const char *str)
mux_link_initial(tda, tdmi);
subscription_reschedule();
+ return 1;
}
/**
@@ -948,8 +953,8 @@ int dvb_mux_str2hier(const char *str)
void
dvb_mux_set_enable(th_dvb_mux_instance_t *tdmi, int enabled)
{
- tdmi_set_enable(tdmi, enabled);
- dvb_mux_save(tdmi);
+ if (tdmi_set_enable(tdmi, enabled))
+ dvb_mux_save(tdmi);
}
--
1.7.10

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="alsa-lib"
PKG_VERSION="1.0.26"
PKG_VERSION="1.0.27"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -1,87 +0,0 @@
From: Takashi Iwai <tiwai <at> suse.de>
Subject: [PATCH RFC 1/2] control: Simplify using snd_config_get_bool()
Newsgroups: gmane.linux.alsa.devel
Date: 2012-10-12 15:25:23 GMT (17 weeks, 8 hours and 26 minutes ago)
snd_config_get_bool() was improved to parse also ASCII strings now,
so we don't have to open-code the boolean parser in
src/control/setup.c any longer.
Signed-off-by: Takashi Iwai <tiwai <at> suse.de>
---
src/control/setup.c | 37 ++++++-------------------------------
1 file changed, 6 insertions(+), 31 deletions(-)
diff --git a/src/control/setup.c b/src/control/setup.c
index eecda45..bd3599d 100644
--- a/src/control/setup.c
+++ b/src/control/setup.c
@@ -400,7 +400,6 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
{
snd_config_t *conf;
snd_config_iterator_t i, next;
- char *tmp;
int iface = SND_CTL_ELEM_IFACE_MIXER;
const char *name = NULL;
long index = 0;
@@ -464,33 +463,17 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
continue;
}
if (strcmp(id, "lock") == 0) {
- if ((err = snd_config_get_ascii(n, &tmp)) < 0) {
- SNDERR("field %s has an invalid type", id);
- goto _err;
- }
- err = snd_config_get_bool_ascii(tmp);
- if (err < 0) {
- SNDERR("field %s is not a boolean", id);
- free(tmp);
+ err = snd_config_get_bool(n);
+ if (err < 0)
goto _err;
- }
lock = err;
- free(tmp);
continue;
}
if (strcmp(id, "preserve") == 0) {
- if ((err = snd_config_get_ascii(n, &tmp)) < 0) {
- SNDERR("field %s has an invalid type", id);
- goto _err;
- }
- err = snd_config_get_bool_ascii(tmp);
- if (err < 0) {
- SNDERR("field %s is not a boolean", id);
- free(tmp);
+ err = snd_config_get_bool(n);
+ if (err < 0)
goto _err;
- }
preserve = err;
- free(tmp);
continue;
}
if (strcmp(id, "value") == 0) {
@@ -502,18 +485,10 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
continue;
}
if (strcmp(id, "optional") == 0) {
- if ((err = snd_config_get_ascii(n, &tmp)) < 0) {
- SNDERR("field %s has an invalid type", id);
- goto _err;
- }
- err = snd_config_get_bool_ascii(tmp);
- if (err < 0) {
- SNDERR("field %s is not a boolean", id);
- free(tmp);
+ err = snd_config_get_bool(n);
+ if (err < 0)
goto _err;
- }
optional = err;
- free(tmp);
continue;
}
SNDERR("Unknown field %s", id);
--
1.7.12.2

View File

@@ -1,123 +0,0 @@
From 91e42790dd0a9489a94e3784d220d76ad2d98b36 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Sat, 16 Feb 2013 18:29:59 +0200
Subject: [PATCH] Add workaround for conflicting IEC958 controls for HD-audio
When both an SPDIF and an HDMI output are present on HD-audio, both
try to access IEC958 controls with index=0 although one of them must
be wrong. For avoiding this conflict, the recent kernel code (3.9 and
3.8 stable) moves the IEC958 controls of an SPDIF with index=16 once
when the conflict happens.
In this patch, the corresponding support is added in alsa-lib side.
The new "skip_rest" boolean flag is added to the hooked element
definition which indicates that the rest of element array will be
ignored once when this element is present and evaluated. With this
new flag, the HD-audio config takes device=1 primarily, then take
device=0 as fallback.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/conf/cards/HDA-Intel.conf | 16 ++++++++++++++++
src/control/setup.c | 19 ++++++++++++++++---
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/src/conf/cards/HDA-Intel.conf b/src/conf/cards/HDA-Intel.conf
index d4f2667..3957c12 100644
--- a/src/conf/cards/HDA-Intel.conf
+++ b/src/conf/cards/HDA-Intel.conf
@@ -113,6 +113,22 @@ HDA-Intel.pcm.iec958.0 {
hook_args [
{
name "IEC958 Playback Default"
+ index 16
+ optional true
+ lock true
+ preserve true
+ value [ $AES0 $AES1 $AES2 $AES3 ]
+ }
+ {
+ name "IEC958 Playback Switch"
+ index 16
+ optional true
+ value true
+ # if this element is present, skip the rest
+ skip_rest true
+ }
+ {
+ name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
diff --git a/src/control/setup.c b/src/control/setup.c
index eecda45..72facb0 100644
--- a/src/control/setup.c
+++ b/src/control/setup.c
@@ -396,7 +396,7 @@ static int snd_config_get_ctl_elem_value(snd_config_t *conf,
return 0;
}
-static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_data)
+static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_data, int *quit)
{
snd_config_t *conf;
snd_config_iterator_t i, next;
@@ -409,6 +409,7 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
int lock = 0;
int preserve = 0;
int optional = 0;
+ int skip_rest = 0;
snd_config_t *value = NULL, *mask = NULL;
snd_sctl_elem_t *elem = NULL;
int err;
@@ -516,6 +517,13 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
free(tmp);
continue;
}
+ if (strcmp(id, "skip_rest") == 0) {
+ err = snd_config_get_bool(n);
+ if (err < 0)
+ goto _err;
+ skip_rest = err;
+ continue;
+ }
SNDERR("Unknown field %s", id);
return -EINVAL;
}
@@ -564,6 +572,9 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
if (! optional)
SNDERR("Cannot obtain info for CTL elem (%s,'%s',%li,%li,%li): %s", snd_ctl_elem_iface_name(iface), name, index, device, subdevice, snd_strerror(err));
goto _err;
+ } else {
+ if (skip_rest)
+ *quit = 1;
}
snd_ctl_elem_value_set_id(elem->val, elem->id);
snd_ctl_elem_value_set_id(elem->old, elem->id);
@@ -619,7 +630,7 @@ int snd_sctl_build(snd_sctl_t **sctl, snd_ctl_t *handle, snd_config_t *conf, snd
{
snd_sctl_t *h;
snd_config_iterator_t i, next;
- int err;
+ int err, quit = 0;
assert(sctl);
assert(handle);
@@ -639,11 +650,13 @@ int snd_sctl_build(snd_sctl_t **sctl, snd_ctl_t *handle, snd_config_t *conf, snd
INIT_LIST_HEAD(&h->elems);
snd_config_for_each(i, next, conf) {
snd_config_t *n = snd_config_iterator_entry(i);
- err = add_elem(h, n, private_data);
+ err = add_elem(h, n, private_data, &quit);
if (err < 0) {
free_elems(h);
return err;
}
+ if (quit)
+ break;
}
*sctl = h;
return 0;
--
1.7.10

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="alsa-plugins"
PKG_VERSION="1.0.26"
PKG_VERSION="1.0.27"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="alsa-utils"
PKG_VERSION="1.0.26"
PKG_VERSION="1.0.27"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -1,12 +0,0 @@
diff -Naur alsa-utils-1.0.26-old/configure.in alsa-utils-1.0.26-new/configure.in
--- alsa-utils-1.0.26-old/configure.in 2012-09-06 01:45:44.000000000 -0700
+++ alsa-utils-1.0.26-new/configure.in 2012-12-29 08:01:59.000000000 -0800
@@ -290,7 +290,7 @@
TESTSOUND="$dir/test.wav")
AC_SUBST(TESTSOUND)
-AM_CONFIG_HEADER(include/aconfig.h)
+AC_CONFIG_HEADERS(include/aconfig.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST

View File

@@ -30,6 +30,9 @@ cd $PKG_BUILD
make PREFIX=/usr \
CC="$TARGET_CC" \
AR="$TARGET_AR" \
HOST=_LINUX \
HARDWARE_NAME=$TARGET_ARCH \
BITS=$ACPICA_BITS \
YACC=$ROOT/$TOOLCHAIN/bin/bison \
CWARNINGFLAGS="-O2 $TARGET_CFLAGS"

View File

@@ -19,12 +19,13 @@
################################################################################
PKG_NAME="acpica-unix2"
PKG_VERSION="20130117"
PKG_VERSION="20130328"
PKG_REV="1"
PKG_ARCH="i386 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="http://www.acpica.org/"
PKG_URL="https://www.acpica.org/download/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="https://acpica.org/sites/acpica/files/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain flex bison"
PKG_PRIORITY="optional"

View File

@@ -1,12 +0,0 @@
diff -uNr acpica-unix2-20130117-orig/generate/unix/Makefile.common acpica-unix2-20130117/generate/unix/Makefile.common
--- acpica-unix2-20130117-orig/generate/unix/Makefile.common 2013-01-17 20:47:44.000000000 +0100
+++ acpica-unix2-20130117/generate/unix/Makefile.common 2013-02-07 15:13:59.000000000 +0100
@@ -6,7 +6,7 @@
# Get the OS machine architecture. Anything with a "64" in the returned
# string will be treated as a 64-bit OS. Otherwise, the default is 32-bit.
#
-HARDWARE_NAME := $(shell uname -m)
+HARDWARE_NAME=$(BITS)
BITS=0
#

View File

@@ -23,8 +23,15 @@
. config/options $1
cd $PKG_BUILD
make PREFIX=/usr \
CC="$TARGET_CC" \
AR="$TARGET_AR" \
make CC="$TARGET_CC" \
CFLAGS="$TARGET_CFLAGS -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Os -s -D_LINUX -DDEFINE_ALTERNATE_TYPES -I../include" \
CPPFLAGS="$TARGET_CPPFLAGS" \
-C acpidump acpidump
make CC="$TARGET_CC" \
CFLAGS="$TARGET_CFLAGS -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Os -s -D_LINUX -DDEFINE_ALTERNATE_TYPES -I../include" \
-C acpixtract acpixtract
make CC="$TARGET_CC" \
CFLAGS="$TARGET_CFLAGS -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Os -s -D_LINUX -DDEFINE_ALTERNATE_TYPES -I../include" \
-C madt madt

View File

@@ -19,12 +19,12 @@
################################################################################
PKG_NAME="pmtools"
PKG_VERSION="20071116"
PKG_VERSION="20110323"
PKG_REV="1"
PKG_ARCH="i386 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://lesswatts.org/projects/acpi/utilities.php"
PKG_URL="https://lesswatts.org/patches/linux_acpi/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="http://mirror.linux.org.au/linux/kernel/people/lenb/acpi/utils/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain"
PKG_PRIORITY="optional"

View File

@@ -0,0 +1,25 @@
diff -Naur pmtools/madt/Makefile pmtools.patch/madt/Makefile
--- pmtools/madt/Makefile 2005-11-11 18:07:04.000000000 +0100
+++ pmtools.patch/madt/Makefile 2007-11-16 19:48:56.000000000 +0100
@@ -1,6 +1,16 @@
+PROG= madt
+SRCS= madt.c
+
+all: madt
+$(PROG) : $(SRCS)
+ $(CC) $(CFLAGS) $(SRCS) -o $(PROG)
+
test: madt
- ./madt < APIC
-madt: madt.c acpi.h tables.c
- cc -o madt madt.c
-clean:
- rm madt
+ ./madt < example.APIC.dat
+ ./madt < example.APIC.bad.dat
+
+CLEANFILES= $(PROG)
+
+clean :
+ rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) *~
+

25
packages/debug/pmtools/unpack Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2013 Dag Wieers (dag@wieers.com)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mv $BUILD/$PKG_NAME $BUILD/$PKG_NAME-$PKG_VERSION

View File

@@ -19,12 +19,12 @@
################################################################################
PKG_NAME="boost"
PKG_VERSION="1_52_0"
PKG_VERSION="1_53_0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.boost.org/"
PKG_URL="$SOURCEFORGE_SRC/boost/boost/1.52.0/${PKG_NAME}_${PKG_VERSION}.tar.bz2"
PKG_URL="$SOURCEFORGE_SRC/boost/boost/1.53.0/${PKG_NAME}_${PKG_VERSION}.tar.bz2"
PKG_DEPENDS="zlib bzip2"
PKG_BUILD_DEPENDS="toolchain boost-jam Python-host zlib bzip2"
PKG_PRIORITY="optional"

View File

@@ -36,7 +36,6 @@ mkdir -p .objdir-target && cd .objdir-target
--localstatedir=/var \
--disable-static \
--enable-shared \
--disable-mpbsd \
--disable-cxx \
make

View File

@@ -19,12 +19,12 @@
################################################################################
PKG_NAME="gmp"
PKG_VERSION="5.0.5"
PKG_VERSION="5.1.1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="LGPL"
PKG_SITE="http://gmplib.org/"
PKG_URL="http://ftp.sunet.se/pub/gnu/gmp/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="ftp://ftp.gmplib.org/pub/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS=""
PKG_BUILD_DEPENDS="toolchain"
PKG_PRIORITY="optional"

View File

@@ -1,36 +0,0 @@
diff -Naur gmp-5.0.5/configure.in gmp-5.0.5.patch/configure.in
--- gmp-5.0.5/configure.in 2012-05-06 13:19:49.000000000 +0200
+++ gmp-5.0.5.patch/configure.in 2013-01-12 02:25:31.897257189 +0100
@@ -65,8 +65,8 @@
dnl Note that there's a copy of these options in the top-level Makefile.am,
dnl so update there too if changing anything.
dnl
-AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr])
-AM_CONFIG_HEADER(config.h:config.in)
+AM_INIT_AUTOMAKE([1.8 gnu no-dependencies])
+AC_CONFIG_HEADERS(config.h:config.in)
AM_MAINTAINER_MODE
@@ -2228,9 +2228,6 @@
echo " MPN_PATH=\"$path\""
-# Automake ansi2knr support.
-AM_C_PROTOTYPES
-
CL_AS_NOEXECSTACK
GMP_PROG_AR
diff -Naur gmp-5.0.5/Makefile.am gmp-5.0.5.patch/Makefile.am
--- gmp-5.0.5/Makefile.am 2012-05-06 13:19:49.000000000 +0200
+++ gmp-5.0.5.patch/Makefile.am 2013-01-12 02:25:09.603364249 +0100
@@ -25,7 +25,7 @@
# Makefiles in subdirectories, but here we must omit it so automake gives
# the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr".
#
-AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr
+AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies
# Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="bcm2835-driver"
PKG_VERSION="2bcb2bc"
PKG_VERSION="baa3ecf"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="nonfree"

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="dvb-firmware"
PKG_VERSION="0.0.31"
PKG_VERSION="0.0.33"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Free-to-use"

View File

@@ -1,74 +0,0 @@
diff -Naur linux-3.6.11/drivers/media/rc/ene_ir.c linux-3.6.11.patch/drivers/media/rc/ene_ir.c
--- linux-3.6.11/drivers/media/rc/ene_ir.c 2012-12-17 18:27:45.000000000 +0100
+++ linux-3.6.11.patch/drivers/media/rc/ene_ir.c 2012-12-28 22:52:22.571974437 +0100
@@ -1000,7 +1000,7 @@
dev = kzalloc(sizeof(struct ene_device), GFP_KERNEL);
rdev = rc_allocate_device();
if (!dev || !rdev)
- goto error1;
+ goto failure;
/* validate resources */
error = -ENODEV;
@@ -1011,10 +1011,10 @@
if (!pnp_port_valid(pnp_dev, 0) ||
pnp_port_len(pnp_dev, 0) < ENE_IO_SIZE)
- goto error;
+ goto failure;
if (!pnp_irq_valid(pnp_dev, 0))
- goto error;
+ goto failure;
spin_lock_init(&dev->hw_lock);
@@ -1030,7 +1030,7 @@
/* detect hardware version and features */
error = ene_hw_detect(dev);
if (error)
- goto error;
+ goto failure;
if (!dev->hw_learning_and_tx_capable && txsim) {
dev->hw_learning_and_tx_capable = true;
@@ -1075,30 +1075,27 @@
/* claim the resources */
error = -EBUSY;
if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) {
- dev->hw_io = -1;
- dev->irq = -1;
- goto error;
+ goto failure;
}
dev->irq = pnp_irq(pnp_dev, 0);
if (request_irq(dev->irq, ene_isr,
IRQF_SHARED, ENE_DRIVER_NAME, (void *)dev)) {
- dev->irq = -1;
- goto error;
+ goto failure2;
}
error = rc_register_device(rdev);
if (error < 0)
- goto error;
+ goto failure3;
pr_notice("driver has been successfully loaded\n");
return 0;
-error:
- if (dev && dev->irq >= 0)
- free_irq(dev->irq, dev);
- if (dev && dev->hw_io >= 0)
- release_region(dev->hw_io, ENE_IO_SIZE);
-error1:
+
+failure3:
+ free_irq(dev->irq, dev);
+failure2:
+ release_region(dev->hw_io, ENE_IO_SIZE);
+failure:
rc_free_device(rdev);
kfree(dev);
return error;

View File

@@ -70,141 +70,7 @@ diff -Naur linux-3.6.11/drivers/media/rc/ati_remote.c linux-3.6.11.patch/drivers
return err;
}
diff -Naur linux-3.6.11/drivers/media/rc/ene_ir.c linux-3.6.11.patch/drivers/media/rc/ene_ir.c
--- linux-3.6.11/drivers/media/rc/ene_ir.c 2012-12-28 22:53:15.840572260 +0100
+++ linux-3.6.11.patch/drivers/media/rc/ene_ir.c 2012-12-28 22:53:29.114472156 +0100
@@ -1000,7 +1000,7 @@
dev = kzalloc(sizeof(struct ene_device), GFP_KERNEL);
rdev = rc_allocate_device();
if (!dev || !rdev)
- goto failure;
+ goto exit_free_dev_rdev;
/* validate resources */
error = -ENODEV;
@@ -1011,10 +1011,10 @@
if (!pnp_port_valid(pnp_dev, 0) ||
pnp_port_len(pnp_dev, 0) < ENE_IO_SIZE)
- goto failure;
+ goto exit_free_dev_rdev;
if (!pnp_irq_valid(pnp_dev, 0))
- goto failure;
+ goto exit_free_dev_rdev;
spin_lock_init(&dev->hw_lock);
@@ -1030,7 +1030,7 @@
/* detect hardware version and features */
error = ene_hw_detect(dev);
if (error)
- goto failure;
+ goto exit_free_dev_rdev;
if (!dev->hw_learning_and_tx_capable && txsim) {
dev->hw_learning_and_tx_capable = true;
@@ -1075,27 +1075,27 @@
/* claim the resources */
error = -EBUSY;
if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) {
- goto failure;
+ goto exit_free_dev_rdev;
}
dev->irq = pnp_irq(pnp_dev, 0);
if (request_irq(dev->irq, ene_isr,
IRQF_SHARED, ENE_DRIVER_NAME, (void *)dev)) {
- goto failure2;
+ goto exit_release_hw_io;
}
error = rc_register_device(rdev);
if (error < 0)
- goto failure3;
+ goto exit_free_irq;
pr_notice("driver has been successfully loaded\n");
return 0;
-failure3:
+exit_free_irq:
free_irq(dev->irq, dev);
-failure2:
+exit_release_hw_io:
release_region(dev->hw_io, ENE_IO_SIZE);
-failure:
+exit_free_dev_rdev:
rc_free_device(rdev);
kfree(dev);
return error;
diff -Naur linux-3.6.11/drivers/media/rc/fintek-cir.c linux-3.6.11.patch/drivers/media/rc/fintek-cir.c
--- linux-3.6.11/drivers/media/rc/fintek-cir.c 2012-12-28 22:53:15.839572268 +0100
+++ linux-3.6.11.patch/drivers/media/rc/fintek-cir.c 2012-12-28 22:53:29.115472147 +0100
@@ -495,18 +495,18 @@
/* input device for IR remote (and tx) */
rdev = rc_allocate_device();
if (!rdev)
- goto failure;
+ goto exit_free_dev_rdev;
ret = -ENODEV;
/* validate pnp resources */
if (!pnp_port_valid(pdev, 0)) {
dev_err(&pdev->dev, "IR PNP Port not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
if (!pnp_irq_valid(pdev, 0)) {
dev_err(&pdev->dev, "IR PNP IRQ not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
fintek->cir_addr = pnp_port_start(pdev, 0);
@@ -523,7 +523,7 @@
ret = fintek_hw_detect(fintek);
if (ret)
- goto failure;
+ goto exit_free_dev_rdev;
/* Initialize CIR & CIR Wake Logical Devices */
fintek_config_mode_enable(fintek);
@@ -556,15 +556,15 @@
/* now claim resources */
if (!request_region(fintek->cir_addr,
fintek->cir_port_len, FINTEK_DRIVER_NAME))
- goto failure;
+ goto exit_free_dev_rdev;
if (request_irq(fintek->cir_irq, fintek_cir_isr, IRQF_SHARED,
FINTEK_DRIVER_NAME, (void *)fintek))
- goto failure2;
+ goto exit_free_cir_addr;
ret = rc_register_device(rdev);
if (ret)
- goto failure3;
+ goto exit_free_irq;
device_init_wakeup(&pdev->dev, true);
fintek->rdev = rdev;
@@ -574,11 +574,11 @@
return 0;
-failure3:
+exit_free_irq:
free_irq(fintek->cir_irq, fintek);
-failure2:
+exit_free_cir_addr:
release_region(fintek->cir_addr, fintek->cir_port_len);
-failure:
+exit_free_dev_rdev:
rc_free_device(rdev);
kfree(fintek);
diff -Naur linux-3.6.11/drivers/media/rc/gpio-ir-recv.c linux-3.6.11.patch/drivers/media/rc/gpio-ir-recv.c
--- linux-3.6.11/drivers/media/rc/gpio-ir-recv.c 2012-12-28 22:53:15.839572268 +0100
+++ linux-3.6.11.patch/drivers/media/rc/gpio-ir-recv.c 2012-12-28 22:53:29.115472147 +0100
@@ -263,154 +129,4 @@ diff -Naur linux-3.6.11/drivers/media/rc/gpio-ir-recv.c linux-3.6.11.patch/drive
return rc;
}
diff -Naur linux-3.6.11/drivers/media/rc/ite-cir.c linux-3.6.11.patch/drivers/media/rc/ite-cir.c
--- linux-3.6.11/drivers/media/rc/ite-cir.c 2012-12-28 22:53:15.840572260 +0100
+++ linux-3.6.11.patch/drivers/media/rc/ite-cir.c 2012-12-28 22:58:06.139364653 +0100
@@ -1472,7 +1472,7 @@
/* input device for IR remote (and tx) */
rdev = rc_allocate_device();
if (!rdev)
- goto failure;
+ goto exit_free_dev_rdev;
itdev->rdev = rdev;
ret = -ENODEV;
@@ -1498,12 +1498,12 @@
if (!pnp_port_valid(pdev, io_rsrc_no) ||
pnp_port_len(pdev, io_rsrc_no) != dev_desc->io_region_size) {
dev_err(&pdev->dev, "IR PNP Port not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
if (!pnp_irq_valid(pdev, 0)) {
dev_err(&pdev->dev, "PNP IRQ not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
/* store resource values */
@@ -1595,25 +1595,26 @@
/* now claim resources */
if (!request_region(itdev->cir_addr,
dev_desc->io_region_size, ITE_DRIVER_NAME))
- goto failure;
+ goto exit_free_dev_rdev;
+
if (request_irq(itdev->cir_irq, ite_cir_isr, IRQF_SHARED,
ITE_DRIVER_NAME, (void *)itdev))
- goto failure2;
+ goto exit_release_cir_addr;
ret = rc_register_device(rdev);
if (ret)
- goto failure3;
+ goto exit_free_irq;
ite_pr(KERN_NOTICE, "driver has been successfully loaded\n");
return 0;
-failure3:
+exit_free_irq:
free_irq(itdev->cir_irq, itdev);
-failure2:
+exit_release_cir_addr:
release_region(itdev->cir_addr, itdev->params.io_region_size);
-failure:
+exit_free_dev_rdev:
rc_free_device(rdev);
kfree(itdev);
diff -Naur linux-3.6.11/drivers/media/rc/nuvoton-cir.c linux-3.6.11.patch/drivers/media/rc/nuvoton-cir.c
--- linux-3.6.11/drivers/media/rc/nuvoton-cir.c 2012-12-28 22:53:15.839572268 +0100
+++ linux-3.6.11.patch/drivers/media/rc/nuvoton-cir.c 2012-12-28 22:53:29.118472125 +0100
@@ -986,25 +986,25 @@
/* input device for IR remote (and tx) */
rdev = rc_allocate_device();
if (!rdev)
- goto failure;
+ goto exit_free_dev_rdev;
ret = -ENODEV;
/* validate pnp resources */
if (!pnp_port_valid(pdev, 0) ||
pnp_port_len(pdev, 0) < CIR_IOREG_LENGTH) {
dev_err(&pdev->dev, "IR PNP Port not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
if (!pnp_irq_valid(pdev, 0)) {
dev_err(&pdev->dev, "PNP IRQ not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
if (!pnp_port_valid(pdev, 1) ||
pnp_port_len(pdev, 1) < CIR_IOREG_LENGTH) {
dev_err(&pdev->dev, "Wake PNP Port not valid!\n");
- goto failure;
+ goto exit_free_dev_rdev;
}
nvt->cir_addr = pnp_port_start(pdev, 0);
@@ -1027,7 +1027,7 @@
ret = nvt_hw_detect(nvt);
if (ret)
- goto failure;
+ goto exit_free_dev_rdev;
/* Initialize CIR & CIR Wake Logical Devices */
nvt_efm_enable(nvt);
@@ -1070,23 +1070,23 @@
/* now claim resources */
if (!request_region(nvt->cir_addr,
CIR_IOREG_LENGTH, NVT_DRIVER_NAME))
- goto failure;
+ goto exit_free_dev_rdev;
if (request_irq(nvt->cir_irq, nvt_cir_isr, IRQF_SHARED,
NVT_DRIVER_NAME, (void *)nvt))
- goto failure2;
+ goto exit_release_cir_addr;
if (!request_region(nvt->cir_wake_addr,
CIR_IOREG_LENGTH, NVT_DRIVER_NAME))
- goto failure3;
+ goto exit_free_irq;
if (request_irq(nvt->cir_wake_irq, nvt_cir_wake_isr, IRQF_SHARED,
NVT_DRIVER_NAME, (void *)nvt))
- goto failure4;
+ goto exit_release_cir_wake_addr;
ret = rc_register_device(rdev);
if (ret)
- goto failure5;
+ goto exit_free_wake_irq;
device_init_wakeup(&pdev->dev, true);
nvt->rdev = rdev;
@@ -1098,15 +1098,15 @@
return 0;
-failure5:
+exit_free_wake_irq:
free_irq(nvt->cir_wake_irq, nvt);
-failure4:
+exit_release_cir_wake_addr:
release_region(nvt->cir_wake_addr, CIR_IOREG_LENGTH);
-failure3:
+exit_free_irq:
free_irq(nvt->cir_irq, nvt);
-failure2:
+exit_release_cir_addr:
release_region(nvt->cir_addr, CIR_IOREG_LENGTH);
-failure:
+exit_free_dev_rdev:
rc_free_device(rdev);
kfree(nvt);

View File

@@ -1,53 +0,0 @@
diff -Naur linux-3.6.11/drivers/media/rc/fintek-cir.c linux-3.6.11.patch/drivers/media/rc/fintek-cir.c
--- linux-3.6.11/drivers/media/rc/fintek-cir.c 2012-12-28 22:59:21.808868854 +0100
+++ linux-3.6.11.patch/drivers/media/rc/fintek-cir.c 2012-12-28 22:59:37.532767678 +0100
@@ -552,6 +552,8 @@
/* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */
rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD);
+ fintek->rdev = rdev;
+
ret = -EBUSY;
/* now claim resources */
if (!request_region(fintek->cir_addr,
@@ -567,7 +569,7 @@
goto exit_free_irq;
device_init_wakeup(&pdev->dev, true);
- fintek->rdev = rdev;
+
fit_pr(KERN_NOTICE, "driver has been successfully loaded\n");
if (debug)
cir_dump_regs(fintek);
diff -Naur linux-3.6.11/drivers/media/rc/ite-cir.c linux-3.6.11.patch/drivers/media/rc/ite-cir.c
--- linux-3.6.11/drivers/media/rc/ite-cir.c 2012-12-28 22:59:21.808868854 +0100
+++ linux-3.6.11.patch/drivers/media/rc/ite-cir.c 2012-12-28 22:59:37.533767672 +0100
@@ -1591,6 +1591,8 @@
rdev->driver_name = ITE_DRIVER_NAME;
rdev->map_name = RC_MAP_RC6_MCE;
+ itdev->rdev = rdev;
+
ret = -EBUSY;
/* now claim resources */
if (!request_region(itdev->cir_addr,
diff -Naur linux-3.6.11/drivers/media/rc/nuvoton-cir.c linux-3.6.11.patch/drivers/media/rc/nuvoton-cir.c
--- linux-3.6.11/drivers/media/rc/nuvoton-cir.c 2012-12-28 22:59:21.807868860 +0100
+++ linux-3.6.11.patch/drivers/media/rc/nuvoton-cir.c 2012-12-28 22:59:37.533767672 +0100
@@ -1065,6 +1065,7 @@
/* tx bits */
rdev->tx_resolution = XYZ;
#endif
+ nvt->rdev = rdev;
ret = -EBUSY;
/* now claim resources */
@@ -1089,7 +1090,7 @@
goto exit_free_wake_irq;
device_init_wakeup(&pdev->dev, true);
- nvt->rdev = rdev;
+
nvt_pr(KERN_NOTICE, "driver has been successfully loaded\n");
if (debug) {
cir_dump_regs(nvt);

View File

@@ -1,174 +0,0 @@
diff -Naur linux-3.6.11/drivers/media/rc/ene_ir.c linux-3.6.11.patch/drivers/media/rc/ene_ir.c
--- linux-3.6.11/drivers/media/rc/ene_ir.c 2012-12-28 23:03:21.859277264 +0100
+++ linux-3.6.11.patch/drivers/media/rc/ene_ir.c 2012-12-28 23:03:33.651196525 +0100
@@ -1072,10 +1072,14 @@
device_set_wakeup_capable(&pnp_dev->dev, true);
device_set_wakeup_enable(&pnp_dev->dev, true);
+ error = rc_register_device(rdev);
+ if (error < 0)
+ goto exit_free_dev_rdev;
+
/* claim the resources */
error = -EBUSY;
if (!request_region(dev->hw_io, ENE_IO_SIZE, ENE_DRIVER_NAME)) {
- goto exit_free_dev_rdev;
+ goto exit_unregister_device;
}
dev->irq = pnp_irq(pnp_dev, 0);
@@ -1084,17 +1088,13 @@
goto exit_release_hw_io;
}
- error = rc_register_device(rdev);
- if (error < 0)
- goto exit_free_irq;
-
pr_notice("driver has been successfully loaded\n");
return 0;
-exit_free_irq:
- free_irq(dev->irq, dev);
exit_release_hw_io:
release_region(dev->hw_io, ENE_IO_SIZE);
+exit_unregister_device:
+ rc_unregister_device(rdev);
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(dev);
diff -Naur linux-3.6.11/drivers/media/rc/ite-cir.c linux-3.6.11.patch/drivers/media/rc/ite-cir.c
--- linux-3.6.11/drivers/media/rc/ite-cir.c 2012-12-28 23:03:21.858277269 +0100
+++ linux-3.6.11.patch/drivers/media/rc/ite-cir.c 2012-12-28 23:06:45.772856073 +0100
@@ -1593,29 +1593,29 @@
itdev->rdev = rdev;
+ ret = rc_register_device(rdev);
+ if (ret)
+ goto exit_free_dev_rdev;
+
ret = -EBUSY;
/* now claim resources */
if (!request_region(itdev->cir_addr,
dev_desc->io_region_size, ITE_DRIVER_NAME))
- goto exit_free_dev_rdev;
+ goto exit_unregister_device;
if (request_irq(itdev->cir_irq, ite_cir_isr, IRQF_SHARED,
ITE_DRIVER_NAME, (void *)itdev))
goto exit_release_cir_addr;
- ret = rc_register_device(rdev);
- if (ret)
- goto exit_free_irq;
-
ite_pr(KERN_NOTICE, "driver has been successfully loaded\n");
return 0;
-exit_free_irq:
- free_irq(itdev->cir_irq, itdev);
exit_release_cir_addr:
release_region(itdev->cir_addr, itdev->params.io_region_size);
+exit_unregister_device:
+ rc_unregister_device(rdev);
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(itdev);
diff -Naur linux-3.6.11/drivers/media/rc/nuvoton-cir.c linux-3.6.11.patch/drivers/media/rc/nuvoton-cir.c
--- linux-3.6.11/drivers/media/rc/nuvoton-cir.c 2012-12-28 23:03:21.858277269 +0100
+++ linux-3.6.11.patch/drivers/media/rc/nuvoton-cir.c 2012-12-28 23:03:33.653196511 +0100
@@ -1067,11 +1067,15 @@
#endif
nvt->rdev = rdev;
+ ret = rc_register_device(rdev);
+ if (ret)
+ goto exit_free_dev_rdev;
+
ret = -EBUSY;
/* now claim resources */
if (!request_region(nvt->cir_addr,
CIR_IOREG_LENGTH, NVT_DRIVER_NAME))
- goto exit_free_dev_rdev;
+ goto exit_unregister_device;
if (request_irq(nvt->cir_irq, nvt_cir_isr, IRQF_SHARED,
NVT_DRIVER_NAME, (void *)nvt))
@@ -1085,10 +1089,6 @@
NVT_DRIVER_NAME, (void *)nvt))
goto exit_release_cir_wake_addr;
- ret = rc_register_device(rdev);
- if (ret)
- goto exit_free_wake_irq;
-
device_init_wakeup(&pdev->dev, true);
nvt_pr(KERN_NOTICE, "driver has been successfully loaded\n");
@@ -1099,14 +1099,14 @@
return 0;
-exit_free_wake_irq:
- free_irq(nvt->cir_wake_irq, nvt);
exit_release_cir_wake_addr:
release_region(nvt->cir_wake_addr, CIR_IOREG_LENGTH);
exit_free_irq:
free_irq(nvt->cir_irq, nvt);
exit_release_cir_addr:
release_region(nvt->cir_addr, CIR_IOREG_LENGTH);
+exit_unregister_device:
+ rc_unregister_device(rdev);
exit_free_dev_rdev:
rc_free_device(rdev);
kfree(nvt);
diff -Naur linux-3.6.11/drivers/media/rc/winbond-cir.c linux-3.6.11.patch/drivers/media/rc/winbond-cir.c
--- linux-3.6.11/drivers/media/rc/winbond-cir.c 2012-12-28 23:03:21.858277269 +0100
+++ linux-3.6.11.patch/drivers/media/rc/winbond-cir.c 2012-12-28 23:03:33.653196511 +0100
@@ -1035,11 +1035,15 @@
data->dev->timeout = MS_TO_NS(100);
data->dev->allowed_protos = RC_TYPE_ALL;
+ err = rc_register_device(data->dev);
+ if (err)
+ goto exit_free_rc;
+
if (!request_region(data->wbase, WAKEUP_IOMEM_LEN, DRVNAME)) {
dev_err(dev, "Region 0x%lx-0x%lx already in use!\n",
data->wbase, data->wbase + WAKEUP_IOMEM_LEN - 1);
err = -EBUSY;
- goto exit_free_rc;
+ goto exit_unregister_device;
}
if (!request_region(data->ebase, EHFUNC_IOMEM_LEN, DRVNAME)) {
@@ -1064,24 +1068,20 @@
goto exit_release_sbase;
}
- err = rc_register_device(data->dev);
- if (err)
- goto exit_free_irq;
-
device_init_wakeup(&device->dev, 1);
wbcir_init_hw(data);
return 0;
-exit_free_irq:
- free_irq(data->irq, device);
exit_release_sbase:
release_region(data->sbase, SP_IOMEM_LEN);
exit_release_ebase:
release_region(data->ebase, EHFUNC_IOMEM_LEN);
exit_release_wbase:
release_region(data->wbase, WAKEUP_IOMEM_LEN);
+exit_unregister_device:
+ rc_unregister_device(data->dev);
exit_free_rc:
rc_free_device(data->dev);
exit_unregister_led:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,45 +0,0 @@
The array channel_allocations[] is an ordered list, add function to get
correct order by ca_index.
Signed-off-by: Wang Xingchao <xingchao.wang at intel.com>
---
sound/pci/hda/patch_hdmi.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index d9439c5..6ac21d4 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -469,6 +469,17 @@ static void init_channel_allocations(void)
}
}
+static int get_channel_allocation_order(int ca)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(channel_allocations); i++) {
+ if (channel_allocations[i].ca_index == ca)
+ break;
+ }
+ return i;
+}
+
/*
* The transformation takes two steps:
*
@@ -541,9 +552,11 @@ static void hdmi_setup_channel_mapping(struct hda_codec *codec,
{
int i;
int err;
+ int order;
+ order = get_channel_allocation_order(ca);
if (hdmi_channel_mapping[ca][1] == 0) {
- for (i = 0; i < channel_allocations[ca].channels; i++)
+ for (i = 0; i < channel_allocations[order].channels; i++)
hdmi_channel_mapping[ca][i] = i | (i << 4);
for (; i < 8; i++)
hdmi_channel_mapping[ca][i] = 0xf | (i << 4);
--
1.7.9.5

View File

@@ -1,130 +0,0 @@
HDMI channel remapping apparently effects HBR packets on Intel's chips.
For compressed non-PCM audio, use "straight-through" channel mapping.
For uncompressed multi-channel pcm audio, use normal channel mapping.
Signed-off-by: Wang Xingchao <xingchao.wang at intel.com>
---
sound/pci/hda/patch_hdmi.c | 36 ++++++++++++++++++++++++++++++++----
1 file changed, 32 insertions(+), 4 deletions(-)
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 6ac21d4..a87f8b2 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -34,6 +34,7 @@
#include <linux/module.h>
#include <sound/core.h>
#include <sound/jack.h>
+#include <sound/asoundef.h>
#include "hda_codec.h"
#include "hda_local.h"
#include "hda_jack.h"
@@ -60,6 +61,7 @@ struct hdmi_spec_per_cvt {
u32 rates;
u64 formats;
unsigned int maxbps;
+ bool non_pcm;
};
struct hdmi_spec_per_pin {
@@ -548,13 +550,17 @@ static void hdmi_debug_channel_mapping(struct hda_codec *codec,
static void hdmi_setup_channel_mapping(struct hda_codec *codec,
hda_nid_t pin_nid,
+ hda_nid_t cvt_nid,
+ bool non_pcm,
int ca)
{
int i;
int err;
int order;
+ int non_pcm_mapping[8];
order = get_channel_allocation_order(ca);
+
if (hdmi_channel_mapping[ca][1] == 0) {
for (i = 0; i < channel_allocations[order].channels; i++)
hdmi_channel_mapping[ca][i] = i | (i << 4);
@@ -562,10 +568,17 @@ static void hdmi_setup_channel_mapping(struct hda_codec *codec,
hdmi_channel_mapping[ca][i] = 0xf | (i << 4);
}
+ if (non_pcm) {
+ for (i = 0; i < channel_allocations[order].channels; i++)
+ non_pcm_mapping[i] = i | (i << 4);
+ for (; i < 8; i++)
+ non_pcm_mapping[i] = 0xf | (i << 4);
+ }
+
for (i = 0; i < 8; i++) {
err = snd_hda_codec_write(codec, pin_nid, 0,
AC_VERB_SET_HDMI_CHAN_SLOT,
- hdmi_channel_mapping[ca][i]);
+ non_pcm ? non_pcm_mapping[i] : hdmi_channel_mapping[ca][i]);
if (err) {
snd_printdd(KERN_NOTICE
"HDMI: channel mapping failed\n");
@@ -699,15 +712,27 @@ static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid,
}
static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx,
- struct snd_pcm_substream *substream)
+ hda_nid_t cvt_nid, struct snd_pcm_substream *substream)
{
struct hdmi_spec *spec = codec->spec;
struct hdmi_spec_per_pin *per_pin = &spec->pins[pin_idx];
+ struct hdmi_spec_per_cvt *per_cvt;
+ struct hda_spdif_out *spdif;
hda_nid_t pin_nid = per_pin->pin_nid;
int channels = substream->runtime->channels;
struct hdmi_eld *eld;
int ca;
+ int cvt_idx;
union audio_infoframe ai;
+ bool non_pcm = false;
+
+ cvt_idx = cvt_nid_to_cvt_index(spec, cvt_nid);
+ per_cvt = &spec->cvts[cvt_idx];
+
+ mutex_lock(&codec->spdif_mutex);
+ spdif = snd_hda_spdif_out_of_nid(codec, cvt_nid);
+ non_pcm = !!(spdif->status & IEC958_AES0_NONAUDIO);
+ mutex_unlock(&codec->spdif_mutex);
eld = &spec->pins[pin_idx].sink_eld;
if (!eld->monitor_present)
@@ -750,12 +775,14 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx,
"pin=%d channels=%d\n",
pin_nid,
channels);
- hdmi_setup_channel_mapping(codec, pin_nid, ca);
+ hdmi_setup_channel_mapping(codec, pin_nid, cvt_nid, non_pcm, ca);
hdmi_stop_infoframe_trans(codec, pin_nid);
hdmi_fill_audio_infoframe(codec, pin_nid,
ai.bytes, sizeof(ai));
hdmi_start_infoframe_trans(codec, pin_nid);
}
+
+ per_cvt->non_pcm = non_pcm;
}
@@ -1077,6 +1104,7 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t cvt_nid)
per_cvt->cvt_nid = cvt_nid;
per_cvt->channels_min = 2;
+ per_cvt->non_pcm = false;
if (chans <= 16)
per_cvt->channels_max = chans;
@@ -1164,7 +1192,7 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
hdmi_set_channel_count(codec, cvt_nid, substream->runtime->channels);
- hdmi_setup_audio_infoframe(codec, pin_idx, substream);
+ hdmi_setup_audio_infoframe(codec, pin_idx, cvt_nid, substream);
pinctl = snd_hda_codec_read(codec, pin_nid, 0,
AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
--
1.7.9.5

View File

@@ -1,27 +0,0 @@
For HBR stream test, use straight channel mapping way.
when switched back to "speaker-test -c8", even the audio
infoframe is up-to-date, there should be correct channel mapping setup.
Signed-off-by: Wang Xingchao <xingchao.wang at intel.com>
---
sound/pci/hda/patch_hdmi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index a87f8b2..bcb0939 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -780,6 +780,11 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx,
hdmi_fill_audio_infoframe(codec, pin_nid,
ai.bytes, sizeof(ai));
hdmi_start_infoframe_trans(codec, pin_nid);
+ } else {
+ /* For non-pcm audio switch, setup new channel mapping
+ * accordingly */
+ if (per_cvt->non_pcm != non_pcm)
+ hdmi_setup_channel_mapping(codec, pin_nid, cvt_nid, non_pcm, ca);
}
per_cvt->non_pcm = non_pcm;
--
1.7.9.5

View File

@@ -1,29 +0,0 @@
From: Francois Romieu <romieu@fr.zoreil.com>
Date: Fri, 31 Aug 2012 21:06:17 +0000 (+0200)
Subject: r8169: add D-Link DGE-560T identifiers.
X-Git-Tag: v3.7-rc1~145^2~236
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fstable%2Flinux-stable.git;a=commitdiff_plain;h=2a35cfa591ac63f17815c2d9432b799e37527980;hp=da210f559019ba1cd4ebee2a28ad158bfb95bab2
r8169: add D-Link DGE-560T identifiers.
This one includes a 8168. Not to be confused with the sky2 driven
one whose PCI vendor and device ID are the same.
Reported-by: Neyuki Inaya <in@joblog.ru>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index b47d5b3..0c96604 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -287,6 +287,8 @@ static DEFINE_PCI_DEVICE_TABLE(rtl8169_pci_tbl) = {
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8167), 0, 0, RTL_CFG_0 },
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8168), 0, 0, RTL_CFG_1 },
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8169), 0, 0, RTL_CFG_0 },
+ { PCI_VENDOR_ID_DLINK, 0x4300,
+ PCI_VENDOR_ID_DLINK, 0x4b10, 0, 0, RTL_CFG_1 },
{ PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4300), 0, 0, RTL_CFG_0 },
{ PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4302), 0, 0, RTL_CFG_0 },
{ PCI_DEVICE(PCI_VENDOR_ID_AT, 0xc107), 0, 0, RTL_CFG_0 },

View File

@@ -979,9 +979,9 @@ diff -Naur linux-3.7.2/drivers/net/ethernet/jme.c linux-3.7.2.patch/drivers/net/
.ndo_start_xmit = jme_start_xmit,
.ndo_set_mac_address = jme_set_macaddr,
- .ndo_set_rx_mode = jme_set_multi,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)
+ .ndo_set_multicast_list = jme_set_multi,
+#endif
+ .ndo_set_rx_mode = jme_set_multi,
+
+
.ndo_change_mtu = jme_change_mtu,
.ndo_tx_timeout = jme_tx_timeout,
- .ndo_fix_features = jme_fix_features,

View File

@@ -0,0 +1,33 @@
From 083e2330c09b7a5f905020c10e9f52b5c1e17979 Mon Sep 17 00:00:00 2001
From: Mengdong Lin <mengdong.lin@intel.com>
Date: Thu, 28 Mar 2013 09:20:22 +0000
Subject: ALSA: hda - bug fix on return value when getting HDMI ELD info
commit 2ef5692efad330b67a234e2c49edad38538751e7 upstream.
In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
Otherwise it will be returned uninitialized as non-zero after ELD info is got
successfully. Thus hdmi_present_sense() will always assume ELD info is invalid
by mistake, and /proc file system cannot show the proper ELD info.
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Acked-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
index 4c054f4..86f6468 100644
--- a/sound/pci/hda/hda_eld.c
+++ b/sound/pci/hda/hda_eld.c
@@ -322,7 +322,7 @@ int snd_hdmi_get_eld(struct hdmi_eld *eld,
struct hda_codec *codec, hda_nid_t nid)
{
int i;
- int ret;
+ int ret = 0;
int size;
unsigned char *buf;
--
cgit v0.9.1

View File

@@ -0,0 +1,40 @@
From 0187ab6184b36cc1f01424ef534648c198578dbe Mon Sep 17 00:00:00 2001
From: Rainer Koenig <Rainer.Koenig@ts.fujitsu.com>
Date: Thu, 04 Apr 2013 06:40:38 +0000
Subject: ALSA: hda - Enabling Realtek ALC 671 codec
commit 1d87caa69c04008e09f5ff47b5e6acb6116febc7 upstream.
* Added the device ID to the modalias list and assinged ALC662 patches
for it
* Added 4 port support for the device ID 0671 in alc662_parse_auto_config
Signed-off-by: Rainer Koenig <Rainer.Koenig@ts.fujitsu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 47fb18d..ee975a2 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6720,7 +6720,8 @@ static int alc662_parse_auto_config(struct hda_codec *codec)
const hda_nid_t *ssids;
if (codec->vendor_id == 0x10ec0272 || codec->vendor_id == 0x10ec0663 ||
- codec->vendor_id == 0x10ec0665 || codec->vendor_id == 0x10ec0670)
+ codec->vendor_id == 0x10ec0665 || codec->vendor_id == 0x10ec0670 ||
+ codec->vendor_id == 0x10ec0671)
ssids = alc663_ssids;
else
ssids = alc662_ssids;
@@ -7173,6 +7174,7 @@ static const struct hda_codec_preset snd_hda_preset_realtek[] = {
{ .id = 0x10ec0665, .name = "ALC665", .patch = patch_alc662 },
{ .id = 0x10ec0668, .name = "ALC668", .patch = patch_alc662 },
{ .id = 0x10ec0670, .name = "ALC670", .patch = patch_alc662 },
+ { .id = 0x10ec0671, .name = "ALC671", .patch = patch_alc662 },
{ .id = 0x10ec0680, .name = "ALC680", .patch = patch_alc680 },
{ .id = 0x10ec0880, .name = "ALC880", .patch = patch_alc880 },
{ .id = 0x10ec0882, .name = "ALC882", .patch = patch_alc882 },
--
cgit v0.9.1

View File

@@ -0,0 +1,30 @@
From 05c05ef21a1cf71d16189cd4d8060b47f504db2b Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson@canonical.com>
Date: Thu, 04 Apr 2013 09:47:13 +0000
Subject: ALSA: hda - fix typo in proc output
commit aeb3a97222832e5457c4b72d72235098ce4bfe8d upstream.
Rename "Digitial In" to "Digital In". This function is only used for
proc output, so should not cause any problems to change.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index e46b6a3..622f726 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -173,7 +173,7 @@ const char *snd_hda_get_jack_type(u32 cfg)
"Line Out", "Speaker", "HP Out", "CD",
"SPDIF Out", "Digital Out", "Modem Line", "Modem Hand",
"Line In", "Aux", "Mic", "Telephony",
- "SPDIF In", "Digitial In", "Reserved", "Other"
+ "SPDIF In", "Digital In", "Reserved", "Other"
};
return jack_types[(cfg & AC_DEFCFG_DEVICE)
--
cgit v0.9.1

View File

@@ -0,0 +1,69 @@
From 77e2cc382c06a8be48f80e769991e9a4b36a03ce Mon Sep 17 00:00:00 2001
From: hayeswang <hayeswang@realtek.com>
Date: Sun, 31 Mar 2013 17:02:04 +0000
Subject: r8169: fix auto speed down issue
commit e2409d83434d77874b461b78af6a19cd6e6a1280 upstream.
It would cause no link after suspending or shutdowning when the
nic changes the speed to 10M and connects to a link partner which
forces the speed to 100M.
Check the link partner ability to determine which speed to set.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 998974f..2d849da 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -3819,6 +3819,30 @@ static void rtl_init_mdio_ops(struct rtl8169_private *tp)
}
}
+static void rtl_speed_down(struct rtl8169_private *tp)
+{
+ u32 adv;
+ int lpa;
+
+ rtl_writephy(tp, 0x1f, 0x0000);
+ lpa = rtl_readphy(tp, MII_LPA);
+
+ if (lpa & (LPA_10HALF | LPA_10FULL))
+ adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full;
+ else if (lpa & (LPA_100HALF | LPA_100FULL))
+ adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full |
+ ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full;
+ else
+ adv = ADVERTISED_10baseT_Half | ADVERTISED_10baseT_Full |
+ ADVERTISED_100baseT_Half | ADVERTISED_100baseT_Full |
+ (tp->mii.supports_gmii ?
+ ADVERTISED_1000baseT_Half |
+ ADVERTISED_1000baseT_Full : 0);
+
+ rtl8169_set_speed(tp->dev, AUTONEG_ENABLE, SPEED_1000, DUPLEX_FULL,
+ adv);
+}
+
static void rtl_wol_suspend_quirk(struct rtl8169_private *tp)
{
void __iomem *ioaddr = tp->mmio_addr;
@@ -3849,9 +3873,7 @@ static bool rtl_wol_pll_power_down(struct rtl8169_private *tp)
if (!(__rtl8169_get_wol(tp) & WAKE_ANY))
return false;
- rtl_writephy(tp, 0x1f, 0x0000);
- rtl_writephy(tp, MII_BMCR, 0x0000);
-
+ rtl_speed_down(tp);
rtl_wol_suspend_quirk(tp);
return true;
--
cgit v0.9.1

View File

@@ -0,0 +1,42 @@
From 19a993879bb86c801995f55702ab6beaa5485f5e Mon Sep 17 00:00:00 2001
From: Tim Gardner <tim.gardner@canonical.com>
Date: Mon, 18 Feb 2013 19:56:28 +0000
Subject: rt2x00: rt2x00pci_regbusy_read() - only print register access failure once
commit 83589b30f1e1dc9898986293c9336b8ce1705dec upstream.
BugLink: http://bugs.launchpad.net/bugs/1128840
It appears that when this register read fails it never recovers, so
I think there is no need to repeat the same error message ad infinitum.
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Cc: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Gertjan van Wingerde <gwingerde@gmail.com>
Cc: Helmut Schaa <helmut.schaa@googlemail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: users@rt2x00.serialmonkey.com
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c
index a0c8cae..b1c673e 100644
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
@@ -52,8 +52,8 @@ int rt2x00pci_regbusy_read(struct rt2x00_dev *rt2x00dev,
udelay(REGISTER_BUSY_DELAY);
}
- ERROR(rt2x00dev, "Indirect register access failed: "
- "offset=0x%.08x, value=0x%.08x\n", offset, *reg);
+ printk_once(KERN_ERR "%s() Indirect register access failed: "
+ "offset=0x%.08x, value=0x%.08x\n", __func__, offset, *reg);
*reg = ~0;
return 0;
--
cgit v0.9.1

File diff suppressed because it is too large Load Diff

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc-theme-Confluence"
PKG_VERSION="12.1"
PKG_VERSION="12.1.6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -12,6 +12,7 @@
<delay>175</delay>
</refresh>
</latency>
<allowhi10pmultithreading>true</allowhi10pmultithreading>
</video>
<samba>
<clienttimeout>30</clienttimeout>

View File

@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="xbmc"
PKG_VERSION="12.1"
PKG_VERSION="12.1.6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -0,0 +1,107 @@
From ca0ddf0673dea966af5bf0bc562f9ff69a551cd9 Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Sat, 12 Jan 2013 13:03:50 +0100
Subject: [PATCH] dvdplayer: Allow multithread decoding for hi10p content by
default
This allows decoding of some hi10p material on e.g. AMD Fusion with
both cores at the max. This introduces a new advancedsetting named
disablehi10pmultithreading to disable hi10p decoded multithreaded.
---
.../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 18 ++++++++++++++++--
.../dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h | 1 +
xbmc/settings/AdvancedSettings.cpp | 2 ++
xbmc/settings/AdvancedSettings.h | 1 +
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
index 8f81637..77ac6b1 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -138,6 +138,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
m_iScreenHeight = 0;
m_iOrientation = 0;
m_bSoftware = false;
+ m_isHi10p = false;
m_pHardware = NULL;
m_iLastKeyframe = 0;
m_dts = DVD_NOPTS_VALUE;
@@ -187,7 +188,10 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
case FF_PROFILE_H264_HIGH_444_PREDICTIVE:
case FF_PROFILE_H264_HIGH_444_INTRA:
case FF_PROFILE_H264_CAVLC_444:
+ // this is needed to not open the decoders
m_bSoftware = true;
+ // this we need to enable multithreading for hi10p via advancedsettings
+ m_isHi10p = true;
break;
}
}
@@ -247,8 +251,18 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
m_pCodecContext->codec_tag = hints.codec_tag;
/* Only allow slice threading, since frame threading is more
* sensitive to changes in frame sizes, and it causes crashes
- * during HW accell */
- m_pCodecContext->thread_type = FF_THREAD_SLICE;
+ * during HW accell - so we unset it in this case.
+ *
+ * When we detect Hi10p and user did not disable hi10pmultithreading
+ * via advancedsettings.xml we keep the ffmpeg default thread type.
+ * */
+ if(m_isHi10p && !g_advancedSettings.m_videoDisableHi10pMultithreading)
+ {
+ CLog::Log(LOGDEBUG,"CDVDVideoCodecFFmpeg::Open() Keep default threading for Hi10p: %d",
+ m_pCodecContext->thread_type);
+ }
+ else
+ m_pCodecContext->thread_type = FF_THREAD_SLICE;
#if defined(TARGET_DARWIN_IOS)
// ffmpeg with enabled neon will crash and burn if this is enabled
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
index 61d0305..827b2d9 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
@@ -114,6 +114,7 @@ class CDVDVideoCodecFFmpeg : public CDVDVideoCodec
std::string m_name;
bool m_bSoftware;
+ bool m_isHi10p;
IHardwareDecoder *m_pHardware;
int m_iLastKeyframe;
double m_dts;
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
index 16800b7..1e0f3e0 100644
--- a/xbmc/settings/AdvancedSettings.cpp
+++ b/xbmc/settings/AdvancedSettings.cpp
@@ -112,6 +112,7 @@ void CAdvancedSettings::Initialize()
m_DXVANoDeintProcForProgressive = false;
m_videoFpsDetect = 1;
m_videoDefaultLatency = 0.0;
+ m_videoDisableHi10pMultithreading = false;
m_musicUseTimeSeeking = true;
m_musicTimeSeekForward = 10;
@@ -498,6 +499,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
XMLUtils::GetBoolean(pElement,"enablehighqualityhwscalers", m_videoEnableHighQualityHwScalers);
XMLUtils::GetFloat(pElement,"autoscalemaxfps",m_videoAutoScaleMaxFps, 0.0f, 1000.0f);
XMLUtils::GetBoolean(pElement,"allowmpeg4vdpau",m_videoAllowMpeg4VDPAU);
+ XMLUtils::GetBoolean(pElement,"disablehi10pmultithreading",m_videoDisableHi10pMultithreading);
XMLUtils::GetBoolean(pElement,"allowmpeg4vaapi",m_videoAllowMpeg4VAAPI);
XMLUtils::GetBoolean(pElement, "disablebackgrounddeinterlace", m_videoDisableBackgroundDeinterlace);
XMLUtils::GetInt(pElement, "useocclusionquery", m_videoCaptureUseOcclusionQuery, -1, 1);
diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h
index 27887d4..fc05e41 100644
--- a/xbmc/settings/AdvancedSettings.h
+++ b/xbmc/settings/AdvancedSettings.h
@@ -164,6 +164,7 @@ class CAdvancedSettings
bool m_DXVAForceProcessorRenderer;
bool m_DXVANoDeintProcForProgressive;
int m_videoFpsDetect;
+ bool m_videoDisableHi10pMultithreading;
CStdString m_videoDefaultPlayer;
CStdString m_videoDefaultDVDPlayer;
--
1.7.10

View File

@@ -0,0 +1,30 @@
From f9498832d2dd260a47051a88ae9d3e1e1b2f957e Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Mon, 18 Mar 2013 08:20:02 +0100
Subject: [PATCH] dvdplayer: reevaluate HasVideo/Audio after a stream change
---
xbmc/cores/omxplayer/OMXPlayer.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp
index 3d2ca03..bac062d 100644
--- a/xbmc/cores/omxplayer/OMXPlayer.cpp
+++ b/xbmc/cores/omxplayer/OMXPlayer.cpp
@@ -788,6 +788,13 @@ bool CDVDPlayer::ReadPacket(DemuxPacket*& packet, CDemuxStream*& stream)
m_SelectionStreams.Clear(STREAM_NONE, STREAM_SOURCE_DEMUX);
m_SelectionStreams.Update(m_pInputStream, m_pDemuxer);
OpenDefaultStreams(false);
+
+ // reevaluate HasVideo/Audio, we may have switched from/to a radio channel
+ if(m_CurrentVideo.id < 0)
+ m_HasVideo = false;
+ if(m_CurrentAudio.id < 0)
+ m_HasAudio = false;
+
return true;
}
--
1.8.1.5

View File

@@ -0,0 +1,184 @@
From 2da77839fbf972e8c6f09c56d25f8c7bf999f3fa Mon Sep 17 00:00:00 2001
From: dezi <dezi@kappa-mm.de>
Date: Mon, 18 Mar 2013 12:29:27 +0000
Subject: [PATCH] Added hotplug support for Linux input devices.
---
xbmc/input/linux/LinuxInputDevices.cpp | 80 ++++++++++++++++++++++++++++++++++
xbmc/input/linux/LinuxInputDevices.h | 6 +++
2 files changed, 86 insertions(+)
diff --git a/xbmc/input/linux/LinuxInputDevices.cpp b/xbmc/input/linux/LinuxInputDevices.cpp
index 9d253bb..1d3d315 100644
--- a/xbmc/input/linux/LinuxInputDevices.cpp
+++ b/xbmc/input/linux/LinuxInputDevices.cpp
@@ -338,6 +338,7 @@
m_deviceMinKeyCode = 0;
m_deviceMaxKeyCode = 0;
m_deviceMaxAxis = 0;
+ m_bUnplugged = false;
Open();
}
@@ -744,7 +745,15 @@ XBMC_Event CLinuxInputDevice::ReadEvent()
readlen = read(m_fd, &levt, sizeof(levt));
if (readlen <= 0)
+ {
+ if (errno == ENODEV)
+ {
+ CLog::Log(LOGINFO,"input device was unplugged %s",m_deviceName);
+ m_bUnplugged = true;
+ }
+
break;
+ }
//printf("read event readlen = %d device name %s m_fileName %s\n", readlen, m_deviceName, m_fileName.c_str());
@@ -963,6 +972,16 @@ void CLinuxInputDevice::GetInfo(int fd)
//printf("pref: %d\n", m_devicePreferredId);
}
+char* CLinuxInputDevice::GetDeviceName()
+{
+ return m_deviceName;
+}
+
+bool CLinuxInputDevice::IsUnplugged()
+{
+ return m_bUnplugged;
+}
+
bool CLinuxInputDevices::CheckDevice(const char *device)
{
int fd;
@@ -1021,6 +1040,41 @@ void CLinuxInputDevices::InitAvailable()
}
/*
+ * Check for hot plugged devices.
+ */
+void CLinuxInputDevices::CheckHotplugged()
+{
+ CSingleLock lock(m_devicesListLock);
+
+ int deviceId = m_devices.size();
+
+ /* No devices specified. Try to guess some. */
+ for (int i = 0; i < MAX_LINUX_INPUT_DEVICES; i++)
+ {
+ char buf[32];
+ bool ispresent = false;
+
+ snprintf(buf, 32, "/dev/input/event%d", i);
+
+ for (size_t j = 0; j < m_devices.size(); j++)
+ {
+ if (strcmp(m_devices[j]->GetDeviceName(),buf) == 0)
+ {
+ ispresent = true;
+ break;
+ }
+ }
+
+ if (!ispresent && CheckDevice(buf))
+ {
+ CLog::Log(LOGINFO, "Found input device %s", buf);
+ m_devices.push_back(new CLinuxInputDevice(buf, deviceId));
+ ++deviceId;
+ }
+ }
+}
+
+/*
* Open the device, fill out information about it,
* allocate and fill private data, start input thread.
*/
@@ -1076,6 +1130,9 @@ bool CLinuxInputDevice::Open()
{
if (m_vt_fd < 0)
m_vt_fd = open("/dev/tty0", O_RDWR | O_NOCTTY);
+
+ if (m_vt_fd < 0)
+ m_vt_fd = open("/dev/tty1", O_RDWR | O_NOCTTY);
if (m_vt_fd < 0)
CLog::Log(LOGWARNING, "no keymap support (requires /dev/tty0 - CONFIG_VT)");
@@ -1195,6 +1252,23 @@ void CLinuxInputDevice::Close()
XBMC_Event CLinuxInputDevices::ReadEvent()
{
+ if (m_bReInitialize)
+ {
+ InitAvailable();
+ m_bReInitialize = false;
+ }
+ else
+ {
+ time_t now;
+ time(&now);
+
+ if ((now - m_lastHotplugCheck) >= 10)
+ {
+ CheckHotplugged();
+ m_lastHotplugCheck = now;
+ }
+ }
+
CSingleLock lock(m_devicesListLock);
XBMC_Event event;
@@ -1207,6 +1281,12 @@ XBMC_Event CLinuxInputDevices::ReadEvent()
{
break;
}
+
+ if (m_devices[i]->IsUnplugged())
+ {
+ m_bReInitialize = true;
+ break;
+ }
}
return event;
diff --git a/xbmc/input/linux/LinuxInputDevices.h b/xbmc/input/linux/LinuxInputDevices.h
index 18224a9..b7626f4 100644
--- a/xbmc/input/linux/LinuxInputDevices.h
+++ b/xbmc/input/linux/LinuxInputDevices.h
@@ -41,6 +41,8 @@ class CLinuxInputDevice
CLinuxInputDevice(const std::string fileName, int index);
~CLinuxInputDevice();
XBMC_Event ReadEvent();
+ char* GetDeviceName();
+ bool IsUnplugged();
private:
void SetupKeyboardAutoRepeat(int fd);
@@ -76,12 +78,14 @@ class CLinuxInputDevice
int m_deviceMaxKeyCode;
int m_deviceMaxAxis;
bool m_bSkipNonKeyEvents;
+ bool m_bUnplugged;
};
class CLinuxInputDevices
{
public:
void InitAvailable();
+ void CheckHotplugged();
XBMC_Event ReadEvent();
bool IsRemoteLowBattery();
bool IsRemoteNotPaired();
@@ -89,6 +93,8 @@ class CLinuxInputDevices
CCriticalSection m_devicesListLock;
bool CheckDevice(const char *device);
std::vector<CLinuxInputDevice*> m_devices;
+ bool m_bReInitialize;
+ time_t m_lastHotplugCheck;
};
#endif /* LINUXINPUTDEVICES_H_ */
--
1.8.1.5

View File

@@ -0,0 +1,99 @@
diff -Naur xbmc-12.1/xbmc/cores/omxplayer/OMXPlayerAudio.cpp xbmc-12.1.patch/xbmc/cores/omxplayer/OMXPlayerAudio.cpp
--- xbmc-12.1/xbmc/cores/omxplayer/OMXPlayerAudio.cpp 2013-04-07 22:10:57.264461705 +0200
+++ xbmc-12.1.patch/xbmc/cores/omxplayer/OMXPlayerAudio.cpp 2013-04-07 22:18:08.064718783 +0200
@@ -80,6 +80,7 @@
m_send_eos = false;
m_bad_state = false;
m_hints_current.Clear();
+ m_output_stalled = false;
m_av_clock->SetMasterClock(false);
@@ -154,6 +155,7 @@
m_use_passthrough = (g_guiSettings.GetInt("audiooutput.mode") == AUDIO_HDMI) ? true : false ;
m_use_hw_decode = g_advancedSettings.m_omxHWAudioDecode;
m_send_eos = false;
+ m_output_stalled = m_stalled;
}
bool OMXPlayerAudio::CloseStream(bool bWaitForBuffers)
@@ -442,11 +444,11 @@
}
if(bDropPacket)
- m_stalled = false;
+ m_stalled = m_output_stalled = false;
if(m_omxAudio.GetCacheTime() < 0.1 /*&& min(99,m_messageQueue.GetLevel() + MathUtils::round_int(100.0/8.0*GetCacheTime())) > 10*/)
{
- m_stalled = true;
+ m_stalled = m_output_stalled = true;
if(!m_av_clock->OMXAudioBuffer() && m_av_clock->HasVideo() && m_speed == DVD_PLAYSPEED_NORMAL)
{
clock_gettime(CLOCK_REALTIME, &m_starttime);
@@ -454,6 +456,9 @@
}
}
+ if (m_stalled && m_omxAudio.GetCacheTime() > 0.0)
+ m_stalled = false;
+
// signal to our parent that we have initialized
if(m_started == false)
{
@@ -478,6 +483,7 @@
if (ret == MSGQ_TIMEOUT)
{
+ m_stalled = true;
Sleep(10);
continue;
}
@@ -497,12 +503,14 @@
CLog::Log(LOGINFO, "Audio: dts:%.0f pts:%.0f size:%d (s:%d f:%d d:%d l:%d) s:%d %d/%d late:%d,%d", pPacket->dts, pPacket->pts,
(int)pPacket->iSize, m_started, m_flush, bPacketDrop, m_stalled, m_speed, 0, 0, (int)m_omxAudio.GetAudioRenderingLatency(), (int)m_hints_current.samplerate);
#endif
+
+ m_stalled = false;
if(Decode(pPacket, m_speed > DVD_PLAYSPEED_NORMAL || m_speed < 0 || bPacketDrop))
{
- if (m_stalled && (m_omxAudio.GetCacheTime() > (AUDIO_BUFFER_SECONDS * 0.75f)))
+ if (m_output_stalled && (m_omxAudio.GetCacheTime() > (AUDIO_BUFFER_SECONDS * 0.75f)))
{
CLog::Log(LOGINFO, "COMXPlayerAudio - Switching to normal playback");
- m_stalled = false;
+ m_stalled = m_output_stalled = false;
if(m_av_clock->HasVideo() && m_av_clock->OMXAudioBuffer())
m_av_clock->OMXAudioBufferStop();
}
@@ -510,9 +518,9 @@
// hard unlock audio out buffering
clock_gettime(CLOCK_REALTIME, &m_endtime);
//int iLevel = min(99,m_messageQueue.GetLevel() + MathUtils::round_int(100.0/8.0*GetCacheTime()));
- if(/*iLevel < 10 &&*/ m_stalled && m_av_clock->OMXAudioBuffer() && (m_endtime.tv_sec - m_starttime.tv_sec) > 1)
+ if(/*iLevel < 10 &&*/ m_output_stalled && m_av_clock->OMXAudioBuffer() && (m_endtime.tv_sec - m_starttime.tv_sec) > 1)
{
- m_stalled = false;
+ m_stalled = m_output_stalled = false;
if(m_av_clock->HasVideo() && m_av_clock->OMXAudioBuffer())
m_av_clock->OMXAudioBufferStop();
}
@@ -563,6 +571,7 @@
m_av_clock->UnLock();
m_syncclock = true;
m_stalled = true;
+ m_output_stalled = true;
m_started = false;
if (m_pAudioCodec)
diff -Naur xbmc-12.1/xbmc/cores/omxplayer/OMXPlayerAudio.h xbmc-12.1.patch/xbmc/cores/omxplayer/OMXPlayerAudio.h
--- xbmc-12.1/xbmc/cores/omxplayer/OMXPlayerAudio.h 2013-04-07 22:10:57.262461708 +0200
+++ xbmc-12.1.patch/xbmc/cores/omxplayer/OMXPlayerAudio.h 2013-04-07 22:13:15.931280700 +0200
@@ -76,6 +76,7 @@
bool m_stalled;
bool m_started;
+ bool m_output_stalled;
BitstreamStats m_audioStats;

View File

@@ -0,0 +1,69 @@
From eacf9a512d118e50a9777ae05460a2a344a408e6 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 15:18:53 +0100
Subject: [PATCH] OMXPlayer: some caching fixes for pvr
---
xbmc/cores/omxplayer/OMXPlayer.cpp | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/xbmc/cores/omxplayer/OMXPlayer.cpp b/xbmc/cores/omxplayer/OMXPlayer.cpp
index 28addd3..34f3acb 100644
--- a/xbmc/cores/omxplayer/OMXPlayer.cpp
+++ b/xbmc/cores/omxplayer/OMXPlayer.cpp
@@ -1243,13 +1243,13 @@ void COMXPlayer::Process()
if (!IsValidStream(m_CurrentAudio) && m_player_audio.IsStalled()) CloseAudioStream(true);
if (!IsValidStream(m_CurrentVideo) && m_player_video.IsStalled()) CloseVideoStream(true);
if (!IsValidStream(m_CurrentSubtitle) && m_player_subtitle.IsStalled()) CloseSubtitleStream(true);
- if (!IsValidStream(m_CurrentTeletext)) CloseTeletextStream(true);
+// if (!IsValidStream(m_CurrentTeletext)) CloseTeletextStream(true);
// see if we can find something better to play
if (IsBetterStream(m_CurrentAudio, pStream)) OpenAudioStream (pStream->iId, pStream->source);
if (IsBetterStream(m_CurrentVideo, pStream)) OpenVideoStream (pStream->iId, pStream->source);
if (IsBetterStream(m_CurrentSubtitle, pStream)) OpenSubtitleStream(pStream->iId, pStream->source);
- if (IsBetterStream(m_CurrentTeletext, pStream)) OpenTeletextStream(pStream->iId, pStream->source);
+// if (IsBetterStream(m_CurrentTeletext, pStream)) OpenTeletextStream(pStream->iId, pStream->source);
if(m_change_volume)
{
@@ -2233,7 +2233,8 @@ void COMXPlayer::HandleMessages()
// 1. disable audio
// 2. skip frames and adjust their pts or the clock
m_playSpeed = speed;
- m_caching = CACHESTATE_DONE;
+ if (m_caching != CACHESTATE_PVR && m_playSpeed != DVD_PLAYSPEED_NORMAL)
+ SetCaching(CACHESTATE_DONE);
m_av_clock.SetSpeed(speed);
m_av_clock.OMXSetSpeed(speed);
m_player_audio.SetSpeed(speed);
@@ -3106,7 +3107,7 @@ bool COMXPlayer::CloseAudioStream(bool bWaitForBuffers)
CLog::Log(LOGNOTICE, "Closing audio stream");
- if(bWaitForBuffers)
+ if(bWaitForBuffers && m_caching != CACHESTATE_PVR)
SetCaching(CACHESTATE_DONE);
m_player_audio.CloseStream(bWaitForBuffers);
@@ -3122,7 +3123,7 @@ bool COMXPlayer::CloseVideoStream(bool bWaitForBuffers)
CLog::Log(LOGNOTICE, "Closing video stream");
- if(bWaitForBuffers)
+ if(bWaitForBuffers && m_caching != CACHESTATE_PVR)
SetCaching(CACHESTATE_DONE);
m_player_video.CloseStream(bWaitForBuffers);
@@ -3151,7 +3152,7 @@ bool COMXPlayer::CloseTeletextStream(bool bWaitForBuffers)
CLog::Log(LOGNOTICE, "Closing teletext stream");
- if(bWaitForBuffers)
+ if(bWaitForBuffers && m_caching != CACHESTATE_PVR)
SetCaching(CACHESTATE_DONE);
m_player_teletext.CloseStream(bWaitForBuffers);
--
1.8.1.5

View File

@@ -1,91 +0,0 @@
From 5016973c68567e0691c9dc6c14d78de9e7d4558c Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 25 Jan 2013 23:00:13 +0000
Subject: [PATCH] [rbp] Add support for new video codecs Latest firmware has a
start_x.elf with support for additional codecs. These are
MJPEG, VP6, VP8 and Ogg Theora. They are software GPU
accelerated and should be good for SD resolutions. This
update should be harmless with firmware that doesn't
support the new codecs - they will fail to open and behave
as before.
---
xbmc/cores/omxplayer/OMXVideo.cpp | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/xbmc/cores/omxplayer/OMXVideo.cpp b/xbmc/cores/omxplayer/OMXVideo.cpp
index 9215fd9..45e10fe 100644
--- a/xbmc/cores/omxplayer/OMXVideo.cpp
+++ b/xbmc/cores/omxplayer/OMXVideo.cpp
@@ -69,7 +69,10 @@
#define OMX_MPEG2V_DECODER OMX_VIDEO_DECODER
#define OMX_VC1_DECODER OMX_VIDEO_DECODER
#define OMX_WMV3_DECODER OMX_VIDEO_DECODER
+#define OMX_VP6_DECODER OMX_VIDEO_DECODER
#define OMX_VP8_DECODER OMX_VIDEO_DECODER
+#define OMX_THEORA_DECODER OMX_VIDEO_DECODER
+#define OMX_MJPEG_DECODER OMX_VIDEO_DECODER
#define MAX_TEXT_LENGTH 1024
@@ -145,6 +148,7 @@ bool COMXVideo::NaluFormatStartCodes(enum CodecID codec, uint8_t *in_extradata,
bool COMXVideo::Open(CDVDStreamInfo &hints, OMXClock *clock, bool deinterlace, bool hdmi_clock_sync)
{
+ bool vflip = false;
Close();
OMX_ERRORTYPE omx_err = OMX_ErrorNone;
@@ -248,6 +252,18 @@ bool COMXVideo::Open(CDVDStreamInfo &hints, OMXClock *clock, bool deinterlace, b
m_codingType = OMX_VIDEO_CodingMPEG4;
m_video_codec_name = "omx-h263";
break;
+ case CODEC_ID_VP6:
+ // this form is encoded upside down
+ vflip = true;
+ // fall through
+ case CODEC_ID_VP6F:
+ case CODEC_ID_VP6A:
+ // (role name) video_decoder.vp6
+ // VP6
+ decoder_name = OMX_VP6_DECODER;
+ m_codingType = OMX_VIDEO_CodingVP6;
+ m_video_codec_name = "omx-vp6";
+ break;
case CODEC_ID_VP8:
// (role name) video_decoder.vp8
// VP8
@@ -255,6 +271,21 @@ bool COMXVideo::Open(CDVDStreamInfo &hints, OMXClock *clock, bool deinterlace, b
m_codingType = OMX_VIDEO_CodingVP8;
m_video_codec_name = "omx-vp8";
break;
+ case CODEC_ID_THEORA:
+ // (role name) video_decoder.theora
+ // theora
+ decoder_name = OMX_THEORA_DECODER;
+ m_codingType = OMX_VIDEO_CodingTheora;
+ m_video_codec_name = "omx-theora";
+ break;
+ case CODEC_ID_MJPEG:
+ case CODEC_ID_MJPEGB:
+ // (role name) video_decoder.mjpg
+ // mjpg
+ decoder_name = OMX_MJPEG_DECODER;
+ m_codingType = OMX_VIDEO_CodingMJPEG;
+ m_video_codec_name = "omx-mjpeg";
+ break;
case CODEC_ID_VC1:
case CODEC_ID_WMV3:
// (role name) video_decoder.vc1
@@ -594,6 +625,8 @@ bool COMXVideo::Open(CDVDStreamInfo &hints, OMXClock *clock, bool deinterlace, b
configDisplay.transform = OMX_DISPLAY_ROT0;
break;
}
+ if (vflip)
+ configDisplay.transform = OMX_DISPLAY_MIRROR_ROT180;
omx_err = m_omx_render.SetConfig(OMX_IndexConfigDisplayRegion, &configDisplay);
if(omx_err != OMX_ErrorNone)
--
1.7.10

View File

@@ -1,26 +0,0 @@
From 2c915ea56abd68cf2310eb9d01936d19a2f118ab Mon Sep 17 00:00:00 2001
From: davilla <davilla@4pi.com>
Date: Tue, 19 Mar 2013 13:41:53 -0400
Subject: [PATCH] changed, assert(0) is nasty, this could just be a bad audio
packet
---
xbmc/cores/dvdplayer/DVDPlayerAudio.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
index 03ba5ea..e075cd6 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
@@ -284,7 +284,7 @@ int CDVDPlayerAudio::DecodeFrame(DVDAudioFrame &audioframe, bool bDropPacket)
CLog::Log(LOGERROR, "CDVDPlayerAudio:DecodeFrame - Codec tried to consume more data than available. Potential memory corruption");
m_decode.Release();
m_pAudioCodec->Reset();
- assert(0);
+ return DECODE_FLAG_ERROR;
}
m_decode.data += len;
--
1.8.1.5

View File

@@ -1,25 +0,0 @@
From befdcfad8d2b14c9d935c3662a56853d617f884d Mon Sep 17 00:00:00 2001
From: Voyager1 <voyager@xbmc.org>
Date: Sat, 23 Mar 2013 07:19:46 +0100
Subject: [PATCH] [dvdplayer] fix deadlock when trying to go to disc menu
---
xbmc/cores/dvdplayer/DVDPlayer.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayer.cpp b/xbmc/cores/dvdplayer/DVDPlayer.cpp
index 3d2ca03..22c89dc 100644
--- a/xbmc/cores/dvdplayer/DVDPlayer.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayer.cpp
@@ -3511,7 +3511,7 @@ bool CDVDPlayer::OnAction(const CAction &action)
pMenus->OnMenu();
// send a message to everyone that we've gone to the menu
CGUIMessage msg(GUI_MSG_VIDEO_MENU_STARTED, 0, 0);
- g_windowManager.SendMessage(msg);
+ g_windowManager.SendThreadMessage(msg);
return true;
}
break;
--
1.8.1.5

View File

@@ -1,47 +0,0 @@
--- xbmc-12.0.3/configure.in.orig 2013-03-01 13:21:58.791312360 +0100
+++ xbmc-12.0.3/configure.in 2013-03-01 13:38:41.138311757 +0100
@@ -990,9 +990,15 @@
AC_CHECK_LIB([tiff], [main],, AC_MSG_ERROR($missing_library))
if echo "$ARCH" | grep -q freebsd; then
AC_CHECK_LIB([pthread], [main],LIBS="-pthread $LIBS", AC_MSG_ERROR($missing_library))
+AC_CHECK_LIB([pthread], [pthread_set_name_np],
+ AC_DEFINE([HAVE_PTHREAD_SET_NAME_NP],[1],["Define to 1 if pthread has pthread_set_name_np"]),
+ AC_MSG_RESULT([Could not find pthread_set_name_np in pthread]))
else
if test "$target_platform" != "target_android" ; then
AC_CHECK_LIB([pthread], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([pthread], [pthread_setname_np],
+ AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],["Define to 1 if pthread has pthread_setname_np"]),
+ AC_MSG_RESULT([Could not find pthread_setname_np in pthread]))
fi
fi
AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library))
--- xbmc-12.0.3/xbmc/threads/platform/pthreads/ThreadImpl.cpp.orig 2013-03-01 14:40:50.080309513 +0100
+++ xbmc-12.0.3/xbmc/threads/platform/pthreads/ThreadImpl.cpp 2013-03-01 14:40:20.548309531 +0100
@@ -18,6 +18,9 @@
*
*/
+#if (defined HAVE_CONFIG_H) && (!defined WIN32)
+ #include "config.h"
+#endif
#include <limits.h>
#if defined(TARGET_ANDROID)
#include <unistd.h>
@@ -71,10 +74,16 @@
m_ThreadOpaque.LwpId = syscall(SYS_gettid);
#endif
+#if defined(HAVE_PTHREAD_SETNAME_NP)
#ifdef TARGET_DARWIN
#if(__MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200)
pthread_setname_np(m_ThreadName.c_str());
#endif
+#else
+ pthread_setname_np(m_ThreadId, m_ThreadName.c_str());
+#endif
+#elif defined(HAVE_PTHREAD_SET_NAME_NP)
+ pthread_set_name_np(m_ThreadId, m_ThreadName.c_str());
#endif
#ifdef RLIMIT_NICE

View File

@@ -1,144 +0,0 @@
From f2faaa846e03cbcc1ba11f09baad690c792035c5 Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
Date: Thu, 28 Feb 2013 00:17:03 +0100
Subject: [PATCH] AE: Revisit Device Opening. Try to set periodSize of 100 ms
and BufferSize of 800 ms
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 98 ++++++++++++++++-----------
1 file changed, 59 insertions(+), 39 deletions(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index fe40d17..821bd2e 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -38,7 +38,6 @@
#endif
#define ALSA_OPTIONS (SND_PCM_NONBLOCK | SND_PCM_NO_AUTO_FORMAT | SND_PCM_NO_AUTO_CHANNELS | SND_PCM_NO_AUTO_RESAMPLE)
-#define ALSA_PERIODS 16
#define ALSA_MAX_CHANNELS 16
static enum AEChannel ALSAChannelMap[ALSA_MAX_CHANNELS + 1] = {
@@ -328,59 +327,80 @@ bool CAESinkALSA::InitializeHW(AEAudioFormat &format)
}
}
- unsigned int periods;
-
snd_pcm_uframes_t periodSize, bufferSize;
snd_pcm_hw_params_get_buffer_size_max(hw_params, &bufferSize);
+ snd_pcm_hw_params_get_period_size_max(hw_params, &periodSize, NULL);
+
+ /*
+ We want to make sure, that we have approx 500 to 800 ms Buffer with
+ a periodSize of approx 100 ms.
+ It is calced:
+ periodSize = sampleRate / 10
+ buffersize = periodSize * 1 frame * 8.
+ */
+ periodSize = std::min(periodSize, (snd_pcm_uframes_t) sampleRate / 10);
+ bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) periodSize * 8);
+
+ /*
+ According to upstream we should set buffer size first - so make sure it is always at least
+ double of period size to not get underruns
+ */
+ periodSize = std::min(periodSize, bufferSize / 2);
- bufferSize = std::min(bufferSize, (snd_pcm_uframes_t)8192);
- periodSize = bufferSize / ALSA_PERIODS;
- periods = ALSA_PERIODS;
-
- CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Request: periodSize %lu, periods %u, bufferSize %lu", periodSize, periods, bufferSize);
+ CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Request: periodSize %lu, bufferSize %lu", periodSize, bufferSize);
- /* work on a copy of the hw params */
snd_pcm_hw_params_t *hw_params_copy;
snd_pcm_hw_params_alloca(&hw_params_copy);
-
- /* try to set the buffer size then the period size */
- snd_pcm_hw_params_copy(hw_params_copy, hw_params);
- snd_pcm_hw_params_set_buffer_size_near(m_pcm, hw_params_copy, &bufferSize);
- snd_pcm_hw_params_set_period_size_near(m_pcm, hw_params_copy, &periodSize, NULL);
- snd_pcm_hw_params_set_periods_near (m_pcm, hw_params_copy, &periods , NULL);
- if (snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
+ snd_pcm_hw_params_copy(hw_params_copy, hw_params); // copy what we have and is already working
+
+ // first trying bufferSize, PeriodSize
+ // for more info see here:
+ // http://mailman.alsa-project.org/pipermail/alsa-devel/2009-September/021069.html
+ // the last three tries are done as within pulseaudio
+
+ // backup periodSize and bufferSize first. Restore them after every failed try
+ snd_pcm_uframes_t periodSizeTemp, bufferSizeTemp;
+ periodSizeTemp = periodSize;
+ bufferSizeTemp = bufferSize;
+ if (snd_pcm_hw_params_set_buffer_size_near(m_pcm, hw_params_copy, &bufferSize) != 0
+ || snd_pcm_hw_params_set_period_size_near(m_pcm, hw_params_copy, &periodSize, NULL) != 0
+ || snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
{
- /* try to set the period size then the buffer size */
- snd_pcm_hw_params_copy(hw_params_copy, hw_params);
- snd_pcm_hw_params_set_period_size_near(m_pcm, hw_params_copy, &periodSize, NULL);
- snd_pcm_hw_params_set_buffer_size_near(m_pcm, hw_params_copy, &bufferSize);
- snd_pcm_hw_params_set_periods_near (m_pcm, hw_params_copy, &periods , NULL);
- if (snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
+ bufferSize = bufferSizeTemp;
+ periodSize = periodSizeTemp;
+ // retry with PeriodSize, bufferSize
+ snd_pcm_hw_params_copy(hw_params_copy, hw_params); // restore working copy
+ if (snd_pcm_hw_params_set_period_size_near(m_pcm, hw_params_copy, &periodSize, NULL) != 0
+ || snd_pcm_hw_params_set_buffer_size_near(m_pcm, hw_params_copy, &bufferSize) != 0
+ || snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
{
- /* try to just set the buffer size */
- snd_pcm_hw_params_copy(hw_params_copy, hw_params);
- snd_pcm_hw_params_set_buffer_size_near(m_pcm, hw_params_copy, &bufferSize);
- snd_pcm_hw_params_set_periods_near (m_pcm, hw_params_copy, &periods , NULL);
- if (snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
+ // try only periodSize
+ periodSize = periodSizeTemp;
+ snd_pcm_hw_params_copy(hw_params_copy, hw_params); // restore working copy
+ if(snd_pcm_hw_params_set_period_size_near(m_pcm, hw_params_copy, &periodSize, NULL) != 0
+ || snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
{
- /* try to just set the period size */
- snd_pcm_hw_params_copy(hw_params_copy, hw_params);
- snd_pcm_hw_params_set_period_size_near(m_pcm, hw_params_copy, &periodSize, NULL);
- snd_pcm_hw_params_set_periods_near (m_pcm, hw_params_copy, &periods , NULL);
- if (snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
+ // try only BufferSize
+ bufferSize = bufferSizeTemp;
+ snd_pcm_hw_params_copy(hw_params_copy, hw_params); // restory working copy
+ if (snd_pcm_hw_params_set_buffer_size_near(m_pcm, hw_params_copy, &bufferSize) != 0
+ || snd_pcm_hw_params(m_pcm, hw_params_copy) != 0)
{
- CLog::Log(LOGERROR, "CAESinkALSA::InitializeHW - Failed to set the parameters");
- return false;
+ // set default that Alsa would choose
+ CLog::Log(LOGWARNING, "CAESinkAlsa::IntializeHW - Using default alsa values - set failed");
+ if (snd_pcm_hw_params(m_pcm, hw_params) != 0)
+ {
+ CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Could not init a valid sink");
+ return false;
+ }
}
}
+ // reread values when alsa default was kept
+ snd_pcm_get_params(m_pcm, &bufferSize, &periodSize);
}
}
-
- snd_pcm_hw_params_get_period_size(hw_params_copy, &periodSize, NULL);
- snd_pcm_hw_params_get_buffer_size(hw_params_copy, &bufferSize);
-
- CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Got: periodSize %lu, periods %u, bufferSize %lu", periodSize, periods, bufferSize);
+ CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Got: periodSize %lu, bufferSize %lu", periodSize, bufferSize);
/* set the format parameters */
format.m_sampleRate = sampleRate;
--
1.7.10

View File

@@ -1,76 +0,0 @@
From e1374217a66d1324f3482f6567448f0bc7ef2946 Mon Sep 17 00:00:00 2001
From: spiff <spiff@xbmc.org>
Date: Thu, 21 Mar 2013 14:40:52 +0100
Subject: [PATCH] fixed: prevent infinite loop in add-on dependency checks
---
xbmc/addons/AddonInstaller.cpp | 21 ++++++++++++++-------
xbmc/addons/AddonInstaller.h | 10 ++++++++++
2 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
index b5ba7a0..3e655bb 100644
--- a/xbmc/addons/AddonInstaller.cpp
+++ b/xbmc/addons/AddonInstaller.cpp
@@ -313,6 +313,14 @@ void CAddonInstaller::InstallFromXBMCRepo(const set<CStdString> &addonIDs)
bool CAddonInstaller::CheckDependencies(const AddonPtr &addon)
{
+ std::vector<std::string> preDeps;
+ preDeps.push_back(addon->ID());
+ return CheckDependencies(addon, preDeps);
+}
+
+bool CAddonInstaller::CheckDependencies(const AddonPtr &addon,
+ std::vector<std::string>& preDeps)
+{
if (!addon.get())
return true; // a NULL addon has no dependencies
ADDONDEPS deps = addon->GetDeps();
@@ -333,16 +341,15 @@ bool CAddonInstaller::CheckDependencies(const AddonPtr &addon)
return false;
}
}
- // prevent infinite loops
- if (dep && dep->ID() == addon->ID())
- {
- CLog::Log(LOGERROR, "Addon %s depends on itself, ignoring", addon->ID().c_str());
- return false;
- }
// at this point we have our dep, or the dep is optional (and we don't have it) so check that it's OK as well
// TODO: should we assume that installed deps are OK?
- if (dep && !CheckDependencies(dep))
+ if (dep &&
+ std::find(preDeps.begin(), preDeps.end(), dep->ID()) == preDeps.end() &&
+ !CheckDependencies(dep, preDeps))
+ {
return false;
+ }
+ preDeps.push_back(dep->ID());
}
return true;
}
diff --git a/xbmc/addons/AddonInstaller.h b/xbmc/addons/AddonInstaller.h
index b0ff2bd..5df69fb 100644
--- a/xbmc/addons/AddonInstaller.h
+++ b/xbmc/addons/AddonInstaller.h
@@ -122,6 +122,16 @@ class CAddonInstaller : public IJobCallback
*/
bool DoInstall(const ADDON::AddonPtr &addon, const CStdString &hash = "", bool update = false, const CStdString &referer = "", bool background = true);
+ /*! \brief Check whether dependencies of an addon exist or are installable.
+ Iterates through the addon's dependencies, checking they're installed or installable.
+ Each dependency must also satisfies CheckDependencies in turn.
+ \param addon the addon to check
+ \param preDeps previous dependencies encountered during recursion. aids in avoiding infinite recursion
+ \return true if dependencies are available, false otherwise.
+ */
+ bool CheckDependencies(const ADDON::AddonPtr &addon,
+ std::vector<std::string>& preDeps);
+
void PrunePackageCache();
int64_t EnumeratePackageFolder(std::map<CStdString,CFileItemList*>& result);
--
1.8.1.5

View File

@@ -1,37 +0,0 @@
From b5458130ba00c15ef468d6180a21994bff3daf42 Mon Sep 17 00:00:00 2001
From: Voyager1 <voyager@xbmc.org>
Date: Sat, 23 Mar 2013 07:32:09 +0100
Subject: [PATCH] fixed: addoninstaller unguarded null pointer after
b0825b1a212849e52fca27409ea87e81591f7cf4
---
xbmc/addons/AddonInstaller.cpp | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
index 3e655bb..276467a 100644
--- a/xbmc/addons/AddonInstaller.cpp
+++ b/xbmc/addons/AddonInstaller.cpp
@@ -343,13 +343,14 @@ bool CAddonInstaller::CheckDependencies(const AddonPtr &addon,
}
// at this point we have our dep, or the dep is optional (and we don't have it) so check that it's OK as well
// TODO: should we assume that installed deps are OK?
- if (dep &&
- std::find(preDeps.begin(), preDeps.end(), dep->ID()) == preDeps.end() &&
- !CheckDependencies(dep, preDeps))
+ if (dep)
{
- return false;
+ if (std::find(preDeps.begin(), preDeps.end(), dep->ID()) == preDeps.end() &&
+ !CheckDependencies(dep, preDeps))
+ return false;
+ else
+ preDeps.push_back(dep->ID());
}
- preDeps.push_back(dep->ID());
}
return true;
}
--
1.8.1.5

View File

@@ -1,33 +0,0 @@
From cc39b66b38657787e99bf6369a77c993cd601c23 Mon Sep 17 00:00:00 2001
From: ulion <ulion2002@gmail.com>
Date: Sun, 24 Mar 2013 08:05:04 +0800
Subject: [PATCH] Only add to preDeps when it's not in there.
---
xbmc/addons/AddonInstaller.cpp | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
index 276467a..631a01c 100644
--- a/xbmc/addons/AddonInstaller.cpp
+++ b/xbmc/addons/AddonInstaller.cpp
@@ -343,13 +343,11 @@ bool CAddonInstaller::CheckDependencies(const AddonPtr &addon,
}
// at this point we have our dep, or the dep is optional (and we don't have it) so check that it's OK as well
// TODO: should we assume that installed deps are OK?
- if (dep)
+ if (dep && std::find(preDeps.begin(), preDeps.end(), dep->ID()) == preDeps.end())
{
- if (std::find(preDeps.begin(), preDeps.end(), dep->ID()) == preDeps.end() &&
- !CheckDependencies(dep, preDeps))
+ if (!CheckDependencies(dep, preDeps))
return false;
- else
- preDeps.push_back(dep->ID());
+ preDeps.push_back(dep->ID());
}
}
return true;
--
1.8.1.5

View File

@@ -1,46 +0,0 @@
From eb4ae32119a83716d7fb930381d2848c02383cea Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Wed, 6 Mar 2013 07:52:59 +0100
Subject: [PATCH] AE: Fix menu sounds by decreasing buffer(max 200 ms) and
periodSize(50 ms)
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index 821bd2e..21891a5 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -332,18 +332,19 @@ bool CAESinkALSA::InitializeHW(AEAudioFormat &format)
snd_pcm_hw_params_get_period_size_max(hw_params, &periodSize, NULL);
/*
- We want to make sure, that we have approx 500 to 800 ms Buffer with
- a periodSize of approx 100 ms.
- It is calced:
- periodSize = sampleRate / 10
- buffersize = periodSize * 1 frame * 8.
+ We want to make sure, that we have max 200 ms Buffer with
+ a periodSize of approx 50 ms. Choosing a higher bufferSize
+ will cause problems with menu sounds. Buffer will be increased
+ after those are fixed.
+ periodSize = sampleRate / 20
+ bufferSize = periodSize * 1 frame * 4.
*/
- periodSize = std::min(periodSize, (snd_pcm_uframes_t) sampleRate / 10);
- bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) periodSize * 8);
+ periodSize = std::min(periodSize, (snd_pcm_uframes_t) sampleRate / 20);
+ bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) periodSize * 4);
/*
- According to upstream we should set buffer size first - so make sure it is always at least
- double of period size to not get underruns
+ According to upstream we should set buffer size first - so make sure it is always at least
+ double of period size to not get underruns
*/
periodSize = std::min(periodSize, bufferSize / 2);
--
1.7.10

View File

@@ -1,59 +0,0 @@
From 95ea48d4353516c59e70c962c4970da0bd511aac Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi@xbmc.org>
Date: Mon, 11 Mar 2013 00:05:13 +0200
Subject: [PATCH 1/2] AE: ALSA: Try to get 200ms buffer even if we did not get
50ms periodsize
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index 332f305..b905ada 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -340,11 +340,9 @@ bool CAESinkALSA::InitializeHW(AEAudioFormat &format)
a periodSize of approx 50 ms. Choosing a higher bufferSize
will cause problems with menu sounds. Buffer will be increased
after those are fixed.
- periodSize = sampleRate / 20
- bufferSize = periodSize * 1 frame * 4.
*/
periodSize = std::min(periodSize, (snd_pcm_uframes_t) sampleRate / 20);
- bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) periodSize * 4);
+ bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) sampleRate / 5);
/*
According to upstream we should set buffer size first - so make sure it is always at least
--
1.7.10
From 39f2487881b6fa2d52c58f7b2452420efc711cd5 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi@xbmc.org>
Date: Mon, 11 Mar 2013 00:12:54 +0200
Subject: [PATCH 2/2] AE: ALSA: Try to get a minimum of 4 periods per buffer
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index b905ada..94f6b80 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -346,9 +346,9 @@ bool CAESinkALSA::InitializeHW(AEAudioFormat &format)
/*
According to upstream we should set buffer size first - so make sure it is always at least
- double of period size to not get underruns
+ 4x period size to not get underruns (some systems seem to have issues with only 2 periods)
*/
- periodSize = std::min(periodSize, bufferSize / 2);
+ periodSize = std::min(periodSize, bufferSize / 4);
CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Request: periodSize %lu, bufferSize %lu", periodSize, bufferSize);
--
1.7.10

View File

@@ -1,53 +0,0 @@
From 907f5086e76b0b6d0211c9bbd9da6c6fb54e891b Mon Sep 17 00:00:00 2001
From: Juan Font <juanfontalonso@gmail.com>
Date: Wed, 6 Mar 2013 09:50:15 +0100
Subject: [PATCH 1/2] Avoid fps detection when probing the format if we will
trust codec fps during playback.
---
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
index 7d4e35b..4b62d75 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -425,6 +425,9 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
// set the interrupt callback, appeared in libavformat 53.15.0
m_pFormatContext->interrupt_callback = int_cb;
+
+ // Avoid detecting framerate if advancedsettings.xml says so
+ m_pFormatContext->fps_probe_size = (!g_advancedSettings.m_videoFpsDetect) ? 0 : -1;
// analyse very short to speed up mjpeg playback start
if (iformat && (strcmp(iformat->name, "mjpeg") == 0) && m_ioContext->seekable == 0)
--
1.7.10
From e2966a346140fcd7a9742f17bfd7710bffbe1066 Mon Sep 17 00:00:00 2001
From: Juan Font <juanfontalonso@gmail.com>
Date: Wed, 6 Mar 2013 10:33:32 +0100
Subject: [PATCH 2/2] Improved code legibility.
---
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
index 4b62d75..e84290d 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -427,7 +427,7 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput)
m_pFormatContext->interrupt_callback = int_cb;
// Avoid detecting framerate if advancedsettings.xml says so
- m_pFormatContext->fps_probe_size = (!g_advancedSettings.m_videoFpsDetect) ? 0 : -1;
+ m_pFormatContext->fps_probe_size = (g_advancedSettings.m_videoFpsDetect == 0) ? 0 : -1;
// analyse very short to speed up mjpeg playback start
if (iformat && (strcmp(iformat->name, "mjpeg") == 0) && m_ioContext->seekable == 0)
--
1.7.10

Some files were not shown because too many files have changed in this diff Show More