diff options
author | Joerg Bornkessel <hd_brummy@gentoo.org> | 2015-02-04 11:37:54 +0100 |
---|---|---|
committer | Joerg Bornkessel <hd_brummy@gentoo.org> | 2015-02-04 11:37:54 +0100 |
commit | 62475f2c6c0d0aaf6e985a1cf4f982d06077ac9d (patch) | |
tree | 0d9e0fc36d7461518bd6a75e69219828ae31aca6 | |
parent | upstream test request, http://www.vdr-portal.de/index.php?page=Thread&postID=... (diff) | |
download | devel-62475f2c6c0d0aaf6e985a1cf4f982d06077ac9d.tar.gz devel-62475f2c6c0d0aaf6e985a1cf4f982d06077ac9d.tar.bz2 devel-62475f2c6c0d0aaf6e985a1cf4f982d06077ac9d.zip |
test request from upstream for several patches
Package-Manager: portage-2.2.15
Manifest-Sign-Key: 34C2808A
-rw-r--r-- | media-video/vdr/ChangeLog | 11 | ||||
-rw-r--r-- | media-video/vdr/Manifest | 16 | ||||
-rw-r--r-- | media-video/vdr/files/01_vdr-2.1.8-eit-memleak-v1.diff | 54 | ||||
-rw-r--r-- | media-video/vdr/files/02_vdr-2.1.8-binaryskipstrict.diff | 95 | ||||
-rw-r--r-- | media-video/vdr/files/03_vdr-2.1.8-scheduleswitch.diff (renamed from media-video/vdr/files/vdr-2.1.8-scheduleswitch.diff) | 0 | ||||
-rw-r--r-- | media-video/vdr/files/04_vdr-2.1.8-scheduleswitchblue.diff | 139 | ||||
-rw-r--r-- | media-video/vdr/files/06_vdr-2.1.8-skipeditedresume.diff | 12 | ||||
-rw-r--r-- | media-video/vdr/vdr-2.1.8-r2.ebuild (renamed from media-video/vdr/vdr-2.1.8-r1.ebuild) | 6 |
8 files changed, 326 insertions, 7 deletions
diff --git a/media-video/vdr/ChangeLog b/media-video/vdr/ChangeLog index 3f6e38c..e31d1a8 100644 --- a/media-video/vdr/ChangeLog +++ b/media-video/vdr/ChangeLog @@ -2,6 +2,17 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*vdr-2.1.8-r2 (04 Feb 2015) + + 04 Feb 2015; Joerg Bornkessel <hd_brummy@gentoo.org> -vdr-2.1.8-r1.ebuild, + +vdr-2.1.8-r2.ebuild, +files/02_vdr-2.1.8-binaryskipstrict.diff, + +files/01_vdr-2.1.8-eit-memleak-v1.diff, + +files/03_vdr-2.1.8-scheduleswitch.diff, + -files/vdr-2.1.8-scheduleswitch.diff, + +files/04_vdr-2.1.8-scheduleswitchblue.diff, + +files/06_vdr-2.1.8-skipeditedresume.diff: + test request from upstream for several patches + *vdr-2.1.8-r1 (03 Feb 2015) 03 Feb 2015; Joerg Bornkessel <hd_brummy@gentoo.org> +vdr-2.1.8-r1.ebuild, diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest index 3707aa5..1b8ad2a 100644 --- a/media-video/vdr/Manifest +++ b/media-video/vdr/Manifest @@ -1,12 +1,16 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 +AUX 01_vdr-2.1.8-eit-memleak-v1.diff 2187 SHA256 9eb0419d2732749f8a8b4b516fe81518e6a704f1b6f95e2d5a7e59f1549744bb SHA512 aa52fbab030487f94313124c5d889390e764db073d05d7a5a120ec424fe03dafadc5f60eade6c44249eb34810ff4b2feedb9278b5c31187f48284444a453cbbf WHIRLPOOL b4bc5073c5bab23d1740bd22cd5cffe61c4efe6670dc3a297e795e60f00f900805e986aefee6802b7833689220fcd7736961c91ef107723f65f7fb8a286dd406 +AUX 02_vdr-2.1.8-binaryskipstrict.diff 4571 SHA256 49d6eefc31b56ffc69fc3b063bff37bdf6c2eafe6b8b172803d71ecb24cc9fb0 SHA512 8c3c7a7eb20cf46d8d7630bae6413c8ba6a2c1e4530a6faa0ed43ad681657534046816a18b37e567cf4f13f56256443457c8e551bc3e4307ab44c76225a45a72 WHIRLPOOL 879e872ac1e4fc88f71c9a939372de4f673c26699c2db66e83b253ee0d5b9526a5fc78d3c7c9912f7d8a0d16bb9ca23b0446146aba0dc06caa8f17bfd3b5b2dd +AUX 03_vdr-2.1.8-scheduleswitch.diff 566 SHA256 a913e3177624199c1921b98067b3ffecddc7c3daadb23c493f5231347660cccb SHA512 b054e92ac7e51c2721d8816966bde29f3082a1c242a2c0313d88a23d211fdf934e9f6f7302800361d79996a50e4e54984396f65ff5a07f065fac6c6194aa3a67 WHIRLPOOL 2b5d12701e9a73a88e9f49e8a6a394d699f87e0bdc27782ee1cc361e85840600fd362fc8adaff9a9fdcef6a4e579736113932c5518036d34ff63e6310bd230f8 +AUX 04_vdr-2.1.8-scheduleswitchblue.diff 4972 SHA256 5df3d8b8e8637d9280ba04eb2d94fdb974fcf66a82960012ae519bb7b02ff548 SHA512 7ac0c985ed86668486183eac9c569cae3d0e49062c1f7470fe84832e67732eacca84d8e28e03661c4a194d7ad8b5d538b55d04187471520dcb2fa8238130f556 WHIRLPOOL 13fbad5ddf9348441f7d1803c55a07e709e2fe7a3f7c2ad5ad94207dfb730c1f10abfa42b4845919559807fbbb1182473e7e0e766a1035df1735e562ab9f46e1 +AUX 06_vdr-2.1.8-skipeditedresume.diff 702 SHA256 03b701ca2737e63df1cf1e5e1f2331e282ab5c26a4741951ddd07700e7b8488c SHA512 0a0393c599235147df2ec82c41570c0cae9316bc344cc3b00c1a1110fb7d9ffd2f67774b5882f0f9bc9f2b4ce5b98f0b109c52cb3fe2fab5df92bc5bd02277a3 WHIRLPOOL af8772fd694c10c9edc840b4b351a2c2d24be54f1f954888a49841cb02997e16efd54ca8cd6b918697a4f987c5ef7b6a11d1a03a079db12c9c42bbda9515ae60 AUX channel_alternative.conf 332 SHA256 30fb0a5147c01429c2813505cc69658cf1bfa1b70537bce07365017f653be5ce SHA512 738de5d5d99b54a516f41683834509b477590732db4e00b13b2f26e22c7349cb8517965a21251c08d29b0f368b2bb3fa64a1de71da09ffbedc5a401314a0eb5d WHIRLPOOL 96ead1c37c9e88e6593536a2182b813d3ae86c8e55e79a4cc5ff2d29ec0694405d26c82cb2295bb3f1e7e61c0ec93a646acc518e35ed6eff4d66c9219cc35677 AUX vdr-2.1.1_gentoo.patch 2488 SHA256 25275f22d8d183c089accd9463862aa772d2c13ae18c4f5769916c06b4b5918e SHA512 a36d8be52e7815165327e7322ce5f5537243a3cedc7b5e695ecddce567e8536cb44724540e5079fcda90f58a95f6fb26de4d1cc2842ce8d5460e4010623042f0 WHIRLPOOL 0885af205152ff2228bde0799a05c02efdb7fc712d740a640eecaff6296c7df1285883460e1dd452f0dbc6b4621ddcb0a7c89a21cc241a935f7b7526d2f852f5 AUX vdr-2.1.6_gentoo.patch 2255 SHA256 75ec762630d2e9099843151fd0b6e04c5b114faea2052392144d64c648cf5482 SHA512 0711128380cec9a6ec2e8212226a4a20896888467f323bc006bd1c4cbf1b8e1ce488c2f7227e0903847888e7e37159aecf6d82fdc1b50009a1c869d3da5134c0 WHIRLPOOL e984c7fb87fa3d7eedc203e3b5ac4d2cc9b528dc3a70d8a15582c6dee58589af6d8179fa542f3f45d2e9c6d9889b90e691b77b6d3398f4b6b200635bdc2c404e AUX vdr-2.1.7_C++11.patch 4553 SHA256 3ff8f4762009a932cf63c4239e21f4cca2445cce160b578e5c5c5979b3fefc54 SHA512 41376c3a4bc4754401e2ce140aea5ce1a1b5ad4388c95446b8e1c8e7ab8acd21c35f24d961b4c16b4cc2500d73345cb73a8b4fa2c13dc90cb781dcac625195ec WHIRLPOOL 3b21733e5b065fc2d4188dfa872557cd4558265f3eaea3411d5a402c1cad14ed86379623e25ab908a4c43e165d4ac171bb1788b71b9b6644fd6510a928150f68 AUX vdr-2.1.7_gentoo.patch 2322 SHA256 8088a4f314e0b8d908f82cfe2a7392a18db679a7324bfa92dce49431c50313ec SHA512 c6953a7fb77717fdaa8ca05550496e25f4bc60d91c13ed0fb23d27e1a1ec433ec2d5cfb019717cf09eb7b67c9ebb91664b1b731dc28bc4f25e815871f6de0bc7 WHIRLPOOL 88d4e8407b085604525d9bae1f34a957ae5f168ac657a99c45dcba5f08185351ccb03736cfc464960d3f2157ac6357ffbf8b602dd1da49ee94efb403f71731d8 -AUX vdr-2.1.8-scheduleswitch.diff 566 SHA256 a913e3177624199c1921b98067b3ffecddc7c3daadb23c493f5231347660cccb SHA512 b054e92ac7e51c2721d8816966bde29f3082a1c242a2c0313d88a23d211fdf934e9f6f7302800361d79996a50e4e54984396f65ff5a07f065fac6c6194aa3a67 WHIRLPOOL 2b5d12701e9a73a88e9f49e8a6a394d699f87e0bdc27782ee1cc361e85840600fd362fc8adaff9a9fdcef6a4e579736113932c5518036d34ff63e6310bd230f8 AUX vdr-2.1.8_gentoo.patch 2322 SHA256 8088a4f314e0b8d908f82cfe2a7392a18db679a7324bfa92dce49431c50313ec SHA512 c6953a7fb77717fdaa8ca05550496e25f4bc60d91c13ed0fb23d27e1a1ec433ec2d5cfb019717cf09eb7b67c9ebb91664b1b731dc28bc4f25e815871f6de0bc7 WHIRLPOOL 88d4e8407b085604525d9bae1f34a957ae5f168ac657a99c45dcba5f08185351ccb03736cfc464960d3f2157ac6357ffbf8b602dd1da49ee94efb403f71731d8 DIST extpng-vdr-2.1.1-gentoo-edition-v1.patch.bz2 76312 SHA256 42ed177d9064f555bb5396123790eaa9cf4b500536698af29bda0193c951faab SHA512 07cf50a0f9edf2f8b1542ad314b86f18b88e9409cc9aef400585c7dafb8fc691b2d476d18b088bc0d3de8ec7bf88241ba5418f99e156353cbcf78de406238cf8 WHIRLPOOL c027a0f107db181b617d3f1d3da461733bc03edd975adab03473979877ee5503efcb88903c20a0c0c1063f40710cf14c68456bc8038902b1e29f4194e02f6cb5 DIST extpng-vdr-2.1.2-gentoo-edition-v3.patch.bz2 30698 SHA256 c2ba5ada4cadb44dde87dc5de8b9a1306fa274d0cca8f856ce5e829e16d7d51f SHA512 a4520423182ef44f56b9e6807622a68ba404e1b14e81b8e4153ec23bb4f7e1ec4feabf458dfaddb9a829140e404f6988ad92dbd5b3768ff447918b609b80c29a WHIRLPOOL 9fca245602fbf5926794276da516f82d2846c53781d46720f2cab967bc7839d0494dc7592e76a864fa313ab0e04aefbba5e5f8bf429d7ccc4c31a1e126cdcba4 @@ -32,15 +36,15 @@ EBUILD vdr-2.1.6-r1.ebuild 7588 SHA256 aab0a8b51860d6e99bffe5490ca7ce8ed218a4368 EBUILD vdr-2.1.6-r2.ebuild 7648 SHA256 9949037814fa0636037325e94067838e6df6dce8a0dc77fd20c8abaa08ee3e5a SHA512 2f44e6d552b5da3589ca3a6144d4d2ff76a822f955023855690ea386f98cb7ff6f43a3faa470a1659338e8c43d8e2b3ccee0e915ed41738bfd8b191ea372ee58 WHIRLPOOL 5b2775f70851b4bd94e9382e8b3709e08b53c63a9fae0f64fa7f7b0038c9d4d6ba5d2a60a6e41ce34d48ef9475c56bc7eaa80fabaeb356a335c8fe57edeb50ea EBUILD vdr-2.1.6.ebuild 7616 SHA256 ca9c89b9db90646cfe89964f8f5094af9c8be19404ea3d05ba75d2283af40f6a SHA512 0ea0d208c8140cb158a98cdc8ffd0711d0bf5b2fc635f3724ee7273e735371d232ce7bd7086805b0c38bd9c3f8e04b438d28b81b76c4f6f2c6f1d2acd0cc8b33 WHIRLPOOL 5580d45a8d145e481cfb04ef338868b94398f434ff2daed0f77d347b471b1ce8ec4e35a9ef48c3f1d2368dca57074201456be22f4236bc41bf7f0442eaea38b3 EBUILD vdr-2.1.7.ebuild 7724 SHA256 352022abc89e0fee871f672c8d476a9d1529eca9a817ee7d0d60edc3986dbfd3 SHA512 ee62924473e3909f578805db1bc58c17f657c6adf5f8a3948f83ae9366cea8f101f341f6a5789a8e00236d110db50f01f453dd13e7c0f65dd2915750fb6860dc WHIRLPOOL dd3570aee1e0236caf9a2c40122f28e787933128c6d1f938a74c889725f2a8e4295cbd8fa4951030164364db2d1669b8bc75a8f9df31b053cd61fedd81695d1f -EBUILD vdr-2.1.8-r1.ebuild 7887 SHA256 98b3a9d8dc91ce7cbc929fe98b263d1a3c86e2d4f3af3b4e67d656fde3a2706f SHA512 5099f5e7e71d9e69f394f0ccafaef1f46f74894fad2b0f51ee49c588f34bb2ed8c5ba4356175f6a7c9699e1421feac85729d2e46cd7f471003873e271e34e329 WHIRLPOOL e343eb290876e7b80f1fe36ade2d078c0de9be1c686920f1b56348e76224e025d29a2cef5bd42ce0283193628240c6e5dbca19128e7c5ff629640b95e0aafca3 +EBUILD vdr-2.1.8-r2.ebuild 8123 SHA256 6dcd1d1f7d9e262c2618126d6af3bad45b5d9c09e6591f5df94e4f96116259eb SHA512 2f6f613d5add2fb97efc9e58dede7d1a64cfddc79e056271072cf32d164fc26adc067d96586074d5588749a7978ad1eaa57e1c0b7b3177ce0bb6c220c37b1719 WHIRLPOOL 3f848dae71a31471649470b6f7b8eaf7c0a96daaf7dffe6cbe36bd3145ec6e149fd518394b3e13c8465c0ca4c5ee97972009f13a687114e00f551ce5cab0268a EBUILD vdr-2.1.8.ebuild 7624 SHA256 ee61c7eb7911a8f438f2d429ebb9615793db5f94351f419298faad005d414c24 SHA512 ab4becbc51ded5808bb7df7dce14db8cd9e685e42deed672ee29a97ca64f94276752652b61057a4f412f155d41eca741dff19180ce4d2f7496bd09c07dd085b7 WHIRLPOOL d6d2dcd482f8db246924c22ce673af2edf161feea77180cc77981c90b3b7b195cb0b00027f2ef705725d351fc6255436965a6645e1e07d2c477977e81a1cbc47 -MISC ChangeLog 26849 SHA256 61d6e50b122a202f3638b2e6ee6a4daaabc1b378354401445a57b14caef8e46d SHA512 fd7a68f978ae898182d005001d359c9131816ab93befc2cb6728c117c508286812add685c9d6eb98727201270f32eca529b1d9634c110fced17e12a45751b026 WHIRLPOOL 54a9576c06574ef3e2d2eb668c8666985c8c8abb272b42a329a4d869697bfaa9fe6726aa5dc871a59b24b7391c47a94b749a692748b690dfaae994c1a4971ef9 +MISC ChangeLog 27290 SHA256 5c4ac2d412830199894b2c074cf1eaa76ab7f9686587dcff2371f7583dc96c64 SHA512 cc5adf3e114d777edf5fadd58de5af2d91844b6c3d6ee2732d52a68ad83c78b1c52f9f3e289b11b7ee3a826f6917d237a84dcc9fedd3ea3fb23d3d0ad325d0ea WHIRLPOOL 2e6a7ecaafcbd40163f8b6f2a0509f12eecded4cc8121560836e2ceb0c0b91dddb5686866986ad83f3e557088e64399d799c9a7b5e76d95741146a52f6ee7385 MISC metadata.xml 2071 SHA256 d308d181e741e458ef838af1e003e85323eb23f17b9de610317fe45a7ef92d8f SHA512 cb7c405c0d07ec536d5db70db514121e96f73b4ade0eca80d5e5c12f3cc4f209ce5d1c1c3b3129aaa8f974b843a54fda73684d05c684e403d955079d0f119e56 WHIRLPOOL e606dcf24f8bbcd427ff9e3c26ae022c50332cec79cdb1f39febe7fd25f076a9ab2439232b4b7870ea3e000026b5163f6ceb8727b77f5609060f710f40b3a498 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: added by hd_brummy@gentoo.org -iD8DBQFU0LXtdn07HTTCgIoRCMcsAJ93LL1KOAe4CdwypFrR3dTZ9gWnkgCeLt5q -nwTsChWzsfnIu/whvcfWcyM= -=ZifI +iD8DBQFU0faCdn07HTTCgIoRCBAvAJ9H0paDU07ZQFUqmFDWR1+sEs86JgCgl3Ih +NYBN0xIssvWa0A6N8TCSR/Y= +=k3V2 -----END PGP SIGNATURE----- diff --git a/media-video/vdr/files/01_vdr-2.1.8-eit-memleak-v1.diff b/media-video/vdr/files/01_vdr-2.1.8-eit-memleak-v1.diff new file mode 100644 index 0000000..742a879 --- /dev/null +++ b/media-video/vdr/files/01_vdr-2.1.8-eit-memleak-v1.diff @@ -0,0 +1,54 @@ +diff --git a/eit.c b/eit.c +index 30c017b..031fc93 100644 +--- a/eit.c ++++ b/eit.c +@@ -136,8 +136,8 @@ cEIT::cEIT(cSchedules *Schedules, int Source, u_char Tid, const u_char *Data, bo + UseExtendedEventDescriptor = true; + } + if (UseExtendedEventDescriptor) { +- ExtendedEventDescriptors->Add(eed); +- d = NULL; // so that it is not deleted ++ if (ExtendedEventDescriptors->Add(eed)) ++ d = NULL; // so that it is not deleted + } + if (eed->getDescriptorNumber() == eed->getLastDescriptorNumber()) + UseExtendedEventDescriptor = false; +diff --git a/libsi/si.c b/libsi/si.c +index 0ef3939..edc9074 100644 +--- a/libsi/si.c ++++ b/libsi/si.c +@@ -198,17 +198,18 @@ void DescriptorGroup::Delete() { + } + } + +-void DescriptorGroup::Add(GroupDescriptor *d) { ++bool DescriptorGroup::Add(GroupDescriptor *d) { + if (!array) { + length=d->getLastDescriptorNumber()+1; + array=new GroupDescriptor*[length]; //numbering is zero-based + for (int i=0;i<length;i++) + array[i]=0; + } else if (length != d->getLastDescriptorNumber()+1) +- return; //avoid crash in case of misuse ++ return false; //avoid crash in case of misuse + if (length <= d->getDescriptorNumber()) +- return; // see http://www.vdr-portal.de/board60-linux/board14-betriebssystem/board69-c-t-vdr/p1025777-segfault-mit-vdr-1-7-21/#post1025777 ++ return false; // see http://www.vdr-portal.de/board60-linux/board14-betriebssystem/board69-c-t-vdr/p1025777-segfault-mit-vdr-1-7-21/#post1025777 + array[d->getDescriptorNumber()]=d; ++ return true; + } + + bool DescriptorGroup::isComplete() { +diff --git a/libsi/si.h b/libsi/si.h +index 1e65111..7b47d02 100644 +--- a/libsi/si.h ++++ b/libsi/si.h +@@ -483,7 +483,7 @@ class DescriptorGroup { + public: + DescriptorGroup(bool deleteOnDesctruction=true); + ~DescriptorGroup(); +- void Add(GroupDescriptor *d); ++ bool Add(GroupDescriptor *d); + void Delete(); + int getLength() { return length; } + GroupDescriptor **getDescriptors() { return array; } diff --git a/media-video/vdr/files/02_vdr-2.1.8-binaryskipstrict.diff b/media-video/vdr/files/02_vdr-2.1.8-binaryskipstrict.diff new file mode 100644 index 0000000..63cd3dd --- /dev/null +++ b/media-video/vdr/files/02_vdr-2.1.8-binaryskipstrict.diff @@ -0,0 +1,95 @@ +=================================================================== +RCS file: ./RCS/MANUAL +retrieving revision 3.10 +diff -u -r3.10 ./MANUAL +--- ./MANUAL 2015/01/29 15:55:21 3.10 ++++ ./MANUAL 2015/02/02 12:40:07 +@@ -1006,6 +1006,18 @@ + the binary mode and makes '1' and '3' always skip the number + of seconds configured as the initial value. + ++ Binary skip strict = yes ++ When skipping in binary mode with the '1' and '3' keys, the ++ distance of the skip is halved with every key press after the ++ first change of direction. While this allows for locating a ++ particular position in a recording very fast, once you make ++ one step too many in the current direction you have no chance ++ of ever reaching the desired point any more. You will have to ++ wait for the timeout to occur and start binary skipping anew. ++ If this option is set to 'no', the skip distance will only be ++ halved if the direction actually changes. That way, even if ++ you missed the target point, you can still back up to it. ++ + Resume ID = 0 Defines an additional ID that can be used in a multi user + environment, so that every user has his/her own resume + files for each recording. The valid range is 0...99, with +=================================================================== +RCS file: ./RCS/config.c +retrieving revision 3.6 +diff -u -r3.6 ./config.c +--- ./config.c 2015/01/29 09:01:30 3.6 ++++ ./config.c 2015/02/02 12:22:30 +@@ -475,6 +475,7 @@ + PauseAtLastMark = 0; + BinarySkipInitial = 120; + BinarySkipTimeout = 3; ++ BinarySkipStrict = 1; + ResumeID = 0; + CurrentChannel = -1; + CurrentVolume = MAXVOLUME; +@@ -693,6 +694,7 @@ + else if (!strcasecmp(Name, "PauseAtLastMark")) PauseAtLastMark = atoi(Value); + else if (!strcasecmp(Name, "BinarySkipInitial")) BinarySkipInitial = atoi(Value); + else if (!strcasecmp(Name, "BinarySkipTimeout")) BinarySkipTimeout = atoi(Value); ++ else if (!strcasecmp(Name, "BinarySkipStrict")) BinarySkipStrict = atoi(Value); + else if (!strcasecmp(Name, "ResumeID")) ResumeID = atoi(Value); + else if (!strcasecmp(Name, "CurrentChannel")) CurrentChannel = atoi(Value); + else if (!strcasecmp(Name, "CurrentVolume")) CurrentVolume = atoi(Value); +@@ -815,6 +817,7 @@ + Store("PauseAtLastMark", PauseAtLastMark); + Store("BinarySkipInitial", BinarySkipInitial); + Store("BinarySkipTimeout", BinarySkipTimeout); ++ Store("BinarySkipStrict", BinarySkipStrict); + Store("ResumeID", ResumeID); + Store("CurrentChannel", CurrentChannel); + Store("CurrentVolume", CurrentVolume); +=================================================================== +RCS file: ./RCS/config.h +retrieving revision 3.14 +diff -u -r3.14 ./config.h +--- ./config.h 2015/02/01 14:59:52 3.14 ++++ ./config.h 2015/02/02 12:21:13 +@@ -338,6 +338,7 @@ + int PauseAtLastMark; + int BinarySkipInitial; + int BinarySkipTimeout; ++ int BinarySkipStrict; + int ResumeID; + int CurrentChannel; + int CurrentVolume; +=================================================================== +RCS file: ./RCS/menu.c +retrieving revision 3.35 +diff -u -r3.35 ./menu.c +--- ./menu.c 2015/02/01 10:42:11 3.35 ++++ ./menu.c 2015/02/02 12:23:18 +@@ -3641,6 +3641,7 @@ + Add(new cMenuEditBoolItem(tr("Setup.Replay$Pause replay at last mark"), &data.PauseAtLastMark)); + Add(new cMenuEditIntItem( tr("Setup.Replay$Binary skip initial value (s)"), &data.BinarySkipInitial, 10, 600)); + Add(new cMenuEditIntItem( tr("Setup.Replay$Binary skip timeout (s)"), &data.BinarySkipTimeout, 0, 10)); ++ Add(new cMenuEditBoolItem(tr("Setup.Replay$Binary skip strict"), &data.BinarySkipStrict)); + Add(new cMenuEditIntItem(tr("Setup.Replay$Resume ID"), &data.ResumeID, 0, 99)); + } + +@@ -5007,7 +5008,10 @@ + } + else if (Key != lastKey) { + currentValue /= 2; +- lastKey = kNone; // once the direction has changed, every further call halves the value ++ if (Setup.BinarySkipStrict) ++ lastKey = kNone; // once the direction has changed, every further call halves the value ++ else ++ lastKey = Key; // only halve the value when the direction is changed + } + timeout.Set(Setup.BinarySkipTimeout * 1000); + return max(currentValue, 1); diff --git a/media-video/vdr/files/vdr-2.1.8-scheduleswitch.diff b/media-video/vdr/files/03_vdr-2.1.8-scheduleswitch.diff index d5c9312..d5c9312 100644 --- a/media-video/vdr/files/vdr-2.1.8-scheduleswitch.diff +++ b/media-video/vdr/files/03_vdr-2.1.8-scheduleswitch.diff diff --git a/media-video/vdr/files/04_vdr-2.1.8-scheduleswitchblue.diff b/media-video/vdr/files/04_vdr-2.1.8-scheduleswitchblue.diff new file mode 100644 index 0000000..963d3ba --- /dev/null +++ b/media-video/vdr/files/04_vdr-2.1.8-scheduleswitchblue.diff @@ -0,0 +1,139 @@ +--- menu.c 2015/02/03 10:42:55 3.37 ++++ menu.c 2015/02/03 11:51:29 +@@ -1377,6 +1377,7 @@ + class cMenuWhatsOn : public cOsdMenu { + private: + bool now; ++ bool canSwitch; + int helpKeys; + int timerState; + eOSState Record(void); +@@ -1401,7 +1402,8 @@ + { + SetMenuCategory(Now ? mcScheduleNow : mcScheduleNext); + now = Now; +- helpKeys = -1; ++ canSwitch = false; ++ helpKeys = 0; + timerState = 0; + Timers.Modified(timerState); + for (cChannel *Channel = Channels.First(); Channel; Channel = Channels.Next(Channel)) { +@@ -1434,16 +1436,27 @@ + void cMenuWhatsOn::SetHelpKeys(void) + { + cMenuScheduleItem *item = (cMenuScheduleItem *)Get(Current()); ++ canSwitch = false; + int NewHelpKeys = 0; + if (item) { + if (item->timerMatch == tmFull) +- NewHelpKeys = 2; ++ NewHelpKeys |= 0x02; // "Timer" + else +- NewHelpKeys = 1; ++ NewHelpKeys |= 0x01; // "Record" ++ if (now) ++ NewHelpKeys |= 0x04; // "Next" ++ else ++ NewHelpKeys |= 0x08; // "Now" ++ if (cChannel *Channel = Channels.GetByChannelID(item->event->ChannelID(), true)) { ++ if (Channel->Number() != cDevice::CurrentChannel()) { ++ NewHelpKeys |= 0x10; // "Switch" ++ canSwitch = true; ++ } ++ } + } + if (NewHelpKeys != helpKeys) { + const char *Red[] = { NULL, tr("Button$Record"), tr("Button$Timer") }; +- SetHelp(Red[NewHelpKeys], now ? tr("Button$Next") : tr("Button$Now"), tr("Button$Schedule"), tr("Button$Switch")); ++ SetHelp(Red[NewHelpKeys & 0x03], now ? tr("Button$Next") : tr("Button$Now"), tr("Button$Schedule"), canSwitch ? tr("Button$Switch") : NULL); + helpKeys = NewHelpKeys; + } + } +@@ -1519,10 +1532,12 @@ + } + } + break; +- case kBlue: return Switch(); ++ case kBlue: if (canSwitch) ++ return Switch(); ++ break; + case kInfo: + case kOk: if (Count()) +- return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, true, true)); ++ return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, canSwitch, true)); + break; + default: break; + } +@@ -1543,7 +1558,7 @@ + cSchedulesLock schedulesLock; + const cSchedules *schedules; + bool now, next; +- int otherChannel; ++ bool canSwitch; + int helpKeys; + int timerState; + eOSState Number(void); +@@ -1566,8 +1581,8 @@ + { + SetMenuCategory(mcSchedule); + now = next = false; +- otherChannel = 0; +- helpKeys = -1; ++ canSwitch = false; ++ helpKeys = 0; + timerState = 0; + Timers.Modified(timerState); + cMenuScheduleItem::SetSortMode(cMenuScheduleItem::ssmAllThis); +@@ -1673,16 +1688,23 @@ + void cMenuSchedule::SetHelpKeys(void) + { + cMenuScheduleItem *item = (cMenuScheduleItem *)Get(Current()); ++ canSwitch = false; + int NewHelpKeys = 0; + if (item) { + if (item->timerMatch == tmFull) +- NewHelpKeys = 2; ++ NewHelpKeys |= 0x02; // "Timer" + else +- NewHelpKeys = 1; ++ NewHelpKeys |= 0x01; // "Record" ++ if (cChannel *Channel = Channels.GetByChannelID(item->event->ChannelID(), true)) { ++ if (Channel->Number() != cDevice::CurrentChannel()) { ++ NewHelpKeys |= 0x10; // "Switch" ++ canSwitch = true; ++ } ++ } + } + if (NewHelpKeys != helpKeys) { + const char *Red[] = { NULL, tr("Button$Record"), tr("Button$Timer") }; +- SetHelp(Red[NewHelpKeys], tr("Button$Now"), tr("Button$Next")); ++ SetHelp(Red[NewHelpKeys & 0x03], tr("Button$Now"), tr("Button$Next"), canSwitch ? tr("Button$Switch") : NULL); + helpKeys = NewHelpKeys; + } + } +@@ -1787,12 +1809,12 @@ + case kYellow: if (schedules) + return AddSubMenu(new cMenuWhatsOn(schedules, false, cMenuWhatsOn::CurrentChannel())); + break; +- case kBlue: if (Count() && otherChannel) ++ case kBlue: if (canSwitch) + return Switch(); + break; + case kInfo: + case kOk: if (Count()) +- return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, otherChannel, true)); ++ return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, canSwitch, true)); + break; + default: break; + } +@@ -1805,10 +1827,6 @@ + if (channel) { + cMenuScheduleItem::SetSortMode(cMenuScheduleItem::ssmAllThis); + PrepareScheduleAllThis(NULL, channel); +- if (channel->Number() != cDevice::CurrentChannel()) { +- otherChannel = channel->Number(); +- SetHelp(Count() ? tr("Button$Record") : NULL, tr("Button$Now"), tr("Button$Next"), tr("Button$Switch")); +- } + Display(); + } + } diff --git a/media-video/vdr/files/06_vdr-2.1.8-skipeditedresume.diff b/media-video/vdr/files/06_vdr-2.1.8-skipeditedresume.diff new file mode 100644 index 0000000..bcfcb2c --- /dev/null +++ b/media-video/vdr/files/06_vdr-2.1.8-skipeditedresume.diff @@ -0,0 +1,12 @@ +diff -Naur vdr-2.1.8.orig/dvbplayer.c vdr-2.1.8/dvbplayer.c +--- vdr-2.1.8.orig/dvbplayer.c 2015-02-04 10:20:26.000000000 +0100 ++++ vdr-2.1.8/dvbplayer.c 2015-02-04 10:22:10.000000000 +0100 +@@ -431,6 +431,8 @@ + if (index) { + int Index = ptsIndex.FindIndex(DeviceGetSTC()); + if (Index >= 0) { ++ if (Setup.SkipEdited && marks.First() && abs(Index - marks.First()->Position()) <= int(round(RESUMEBACKUP * framesPerSecond))) ++ Index = 0; // when stopping within RESUMEBACKUP of the first mark the recording shall still be considered unviewed + #ifdef USE_RESUMERESET + int backup = int(round(RESUMEBACKUP * framesPerSecond)); + if (Index >= index->Last() - backup) diff --git a/media-video/vdr/vdr-2.1.8-r1.ebuild b/media-video/vdr/vdr-2.1.8-r2.ebuild index 03d5a9c..91707aa 100644 --- a/media-video/vdr/vdr-2.1.8-r1.ebuild +++ b/media-video/vdr/vdr-2.1.8-r2.ebuild @@ -217,7 +217,11 @@ src_prepare() { # http://www.vdr-portal.de/index.php?page=Thread&postID=1230810 einfo "\ntest request from upstream maintainer" einfo "http://www.vdr-portal.de/index.php?page=Thread&postID=1230810" - epatch "${FILESDIR}/${P}-scheduleswitch.diff" + epatch "${FILESDIR}/01_vdr-2.1.8-eit-memleak-v1.diff" + epatch "${FILESDIR}/02_vdr-2.1.8-binaryskipstrict.diff" + epatch "${FILESDIR}/03_vdr-2.1.8-scheduleswitch.diff" + epatch "${FILESDIR}/04_vdr-2.1.8-scheduleswitchblue.diff" + epatch "${FILESDIR}/06_vdr-2.1.8-skipeditedresume.diff" epatch_user |