debian/0000755000000000000000000000000012231176530007166 5ustar debian/watch0000644000000000000000000000017511212456117010222 0ustar version=3 http://search.cpan.org/dist/Video-Capture-V4l/ .*/Video-Capture-V4l-v?(\d[\d.]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip) debian/clean0000644000000000000000000000002611350201327010163 0ustar RTjpeg/codec/RTjpeg.c debian/libvideo-capture-v4l-perl.docs0000644000000000000000000000003111350201320014716 0ustar TODO RTjpeg/codec/README debian/rules0000755000000000000000000000003611350200470010235 0ustar #!/usr/bin/make -f %: dh $@ debian/copyright0000644000000000000000000000636311350202354011124 0ustar Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 Maintainer: Marc Lehmann Source: http://search.cpan.org/dist/Video-Capture-V4l/ Name: Video-Capture-V4l Files: * Copyright: Marc Lehmann License: GPL-2 Files: VBI/VBI.xs Copyright: Marc Lehmann License: GPL-2 X-Comment: vtx decoding routines taken from videotext-0.6.971023, Copyright (c) 1994-96 Martin Buck . The mentioned tarball can be found at http://elektra.e-technik.uni-ulm.de/~mbuck/download/videotext-0.6.971023.tar.gz vtxdecode.h contains: . Copyright: 1994-96, Martin Buck License: GPL-2 Files: RTjpeg/codec/ Copyright: 1998, Justin Schoeman (justin@suntiger.ee.up.ac.za) License: GPL-2 X-Comment: This is still a rather developmental real time compressor. It is based on the jpeg compressor by the IJG (see LICENSE.jpeg for license details). . Quote from LICENSE.jpeg: . This software is copyright (C) 1991-1996, Thomas G. Lane. All Rights Reserved except as specified below. . Permission is hereby granted to use, copy, modify, and distribute this software (or portions thereof) for any purpose, without fee, subject to these conditions: (1) If any part of the source code for this software is distributed, then this README file must be included, with this copyright and no-warranty notice unaltered; and any additions, deletions, or changes to the original files must be clearly indicated in accompanying documentation. (2) If only executable code is distributed, then the accompanying documentation must state that "this software is based in part on the work of the Independent JPEG Group". (3) Permission for use of this software is granted only if the user accepts full responsibility for any undesirable consequences; the authors accept NO LIABILITY for damages of any kind. Files: gppport.h Copyright: 1999, Kenneth Albanowski. License: Artistic or GPL-1+ Files: debian/* Copyright: 2004, 2006, Matthias Urlichs 2006, Zak B. Elep 2007, Joey Hess 2008, Roberto C. Sanchez 2010, Damyan Ivanov 2008-2010, gregor herrmann License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian GNU/Linux systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic' License: GPL-1+ 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 1, or (at your option) any later version. . On Debian GNU/Linux systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL' License: GPL-2 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, version 2. . On Debian GNU/Linux systems, the complete text of the GNU General Public License, version 2 can be found in `/usr/share/common-licenses/GPL-2' debian/libvideo-capture-v4l-perl.examples0000644000000000000000000000001311350200470015611 0ustar examples/* debian/source/0000755000000000000000000000000011350205330010456 5ustar debian/source/format0000644000000000000000000000001411371215460011674 0ustar 3.0 (quilt) debian/patches/0000755000000000000000000000000011562141516010617 5ustar debian/patches/compile-failure.patch0000644000000000000000000000102411350204542014704 0ustar Author: Andreas Jochens Bug-Debian: #318547 Description: fix FTBFS ("error: invalid lvalue in assignment") --- a/RTjpeg/codec/modules/RTb2s_raw.c +++ b/RTjpeg/codec/modules/RTb2s_raw.c @@ -2,7 +2,7 @@ int RTjpeg_b2s(s16 *data, s8 *strm, u8 b { int ci=1, co=1, tmp; - (u8)strm[0]=(u8)(data[RTjpeg_ZZ[0]]>254) ? 254:((data[RTjpeg_ZZ[0]]<0)?0:data[RTjpeg_ZZ[0]]); + strm[0]=(u8)(data[RTjpeg_ZZ[0]]>254) ? 254:((data[RTjpeg_ZZ[0]]<0)?0:data[RTjpeg_ZZ[0]]); for(ci=1; ci<=63; ci++) if(data[RTjpeg_ZZ[ci]]>0) debian/patches/remove_frequencies.patch0000644000000000000000000005505611371215723015541 0ustar Author: Alessio Treglia Description: Don't install Frequencies modules, which is already provided by libvideo-frequencies-perl. Bug-Ubuntu: https://bugs.launchpad.net/bugs/223815 --- Frequencies.pm | 978 --------------------------------------------------------- 1 file changed, 978 deletions(-) --- libvideo-capture-v4l-perl-0.902.orig/Frequencies.pm +++ /dev/null @@ -1,978 +0,0 @@ -package Video::Frequencies; - -=head1 NAME - -Video::Frequencies - Many, many frequency constants and lists. - -=head1 SYNOPSIS - - use Video::Frequencies; - - while (my($name,$list) = each %CHANLIST) { - print "$name\n"; - while (my($channel,$freq) = each %$list) { - printf " %-4s %9d\n", $channel, $freq; - } - print "\n"; - } - -=head1 DESCRIPTION - -This module exports (yes, exports!) frequency constants as well as hashes -with channel => frequency relations for digital and analog video and audio -broadcast. Another, shorter way to put it is "worldwide channel/frequency -list". All frequencies are given in kHz. - -It's a good idea to use C to get an idea -on how the various constants and lists look like. - -=head1 Exported Audio Carrier Frequencies - - NTSC_AUDIO_CARRIER - PAL_AUDIO_CARRIER_I - PAL_AUDIO_CARRIER_BGHN - PAL_AUDIO_CARRIER_MN - PAL_AUDIO_CARRIER_D - SEACAM_AUDIO_DKK1L - SEACAM_AUDIO_BG - NICAM728_PAL_BGH - NICAM728_PAL_I - -NICAM 728 32-kHz, 14-bit digital stereo audio is transmitted in 1ms frames -containing 8 bits frame sync, 5 bits control, 11 bits additional data, -and 704 bits audio data. The bit rate is reduced by transmitting only -10 bits plus parity of each 14 bit sample, the largest sample in a frame -determines which 10 bits are transmitted. The parity bits for audio -samples also specify the scaling factor used for that channel during that -frame. The companded audio data is interleaved to reduce the influence -of dropouts and the whole frame except for sync bits is scrambled for -spectrum shaping. Data is modulated using QPSK, at below following -subcarrier freqs - -=head1 Broadcast Format by Country - -=over 4 - -=item (M) NTSC - -Antigua, Aruba, Bahamas, Barbados, Belize, Bermuda, Bolivia, Burma, -Canada, Chile, Colombia, Costa Rica, Cuba, Curacao, Dominican Republic, -Ecuador, El Salvador, Guam Guatemala, Honduras, Jamaica, Japan, South -Korea, Mexico, Montserrat, Myanmar, Nicaragua, Panama, Peru, Philippines, -Puerto Rico, St Christopher and Nevis, Samoa, Suriname, Taiwan, -Trinidad/Tobago, United States, Venezuela, Virgin Islands - -=item (B) PAL - -Albania, Algeria, Australia, Austria, Bahrain, Bangladesh, Belgium, -Bosnia-Herzegovinia, Brunei Darussalam, Cambodia, Cameroon, Croatia, -Cyprus, Denmark, Egypt, Ethiopia, Equatorial Guinea, Finland, Germany, -Ghana, Gibraltar, Greenland, Iceland, India, Indonesia, Israel, Italy, -Jordan, Kenya, Kuwait, Liberia, Libya, Luxembourg, Malaysa, Maldives, -Malta, Nepal, Netherlands, New Zeland, Nigeria, Norway, Oman, Pakistan, -Papua New Guinea, Portugal, Qatar, Sao Tome and Principe, Saudi Arabia, -Seychelles, Sierra Leone, Singapore, Slovenia, Somali, Spain, Sri Lanka, -Sudan, Swaziland, Sweden, Switzeland, Syria, Thailand, Tunisia, Turkey, -Uganda, United Arab Emirates, Yemen - -=item (N) PAL - -Argentina (Combination N), Paraguay, Uruguay - -=item (M) PAL (525/60, 3.57MHz burst) - -Brazil - -=item (G) PAL - -Albania, Algeria, Austria, Bahrain, Bosnia/Herzegovinia, Cambodia, -Cameroon, Croatia, Cyprus, Denmark, Egypt, Ethiopia, Equatorial Guinea, -Finland, Germany, Gibraltar, Greenland, Iceland, Israel, Italy, Jordan, -Kenya, Kuwait, Liberia, Libya, Luxembourg, Malaysia, Monaco, Mozambique, -Netherlands, New Zealand, Norway, Oman, Pakistan, Papa New Guinea, -Portugal, Qatar, Romania, Sierra Leone, Singapore, Slovenia, Somalia, -Spain, Sri Lanka, Sudan, Swaziland, Sweeden, Switzerland, Syria, Thailand, -Tunisia, Turkey, United Arab Emirates, Yemen, Zambia, Zimbabwe - -=item (D) PAL - -China, North Korea, Romania, Czech Republic - -=item (H) PAL - -Belgium - -=item (I) PAL - -Angola, Botswana, Gambia, Guinea-Bissau, Hong Kong, Ireland, Lesotho, -Malawi, Nambia, Nigeria, South Africa, Tanzania, United Kingdom, Zanzibar - -=item (B) SECAM - -Djibouti, Greece, Iran, Iraq, Lebanon, Mali, Mauritania, Mauritus, Morocco - -=item (D) SECAM - -Afghanistan, Armenia, Azerbaijan, Belarus, Bulgaria, Estonia, Georgia, -Hungary, Zazakhstan, Lithuania, Mongolia, Moldova, Poland, Russia, Slovak -Republic, Ukraine, Vietnam - -=item (G) SECAM - -Greece, Iran, Iraq, Mali, Mauritus, Morocco, Saudi Arabia - -=item (K) SECAM - -Armenia, Azerbaijan, Bulgaria, Estonia, Georgia, Hungary, Kazakhstan, -Lithuania, Madagascar, Moldova, Poland, Russia, Slovak Republic, Ukraine, -Vietnam - -=item (K1) SECAM - -Benin, Burkina Faso, Burundi, Chad, Cape Verde, Central African Republic, -Comoros, Congo, Gabon, Madagascar, Niger, Rwanda, Senegal, Togo, Zaire - -=item (L) SECAM - -France - -=back - -=head1 Channel->Frequency Relations - -The Channel->Frequency relations are stored in the following hashes. The -keys are the Channel names, the values are the corresponding frequency in -kHz. For example, "arte" is channel "SE6" in the town in Germany I live -in, so, consequently, $PAL_EUROPE{SE6} equals 140250, the frequency I have -to tune my receiver. - - US broadcast %NTSC_BCAST - US cable %NTSC_CABLE - US HRC %NTSC_HRC - JP broadcast %NTSC_BCAST_JP - JP cable %NTSC_CABLE_JP - Australia %PAL_AUSTRALIA - Europe %PAL_EUROPE - Europe East %PAL_EUROPE_EAST - Italy %PAL_ITALY - Ireland %PAL_IRELAND - Newzealand %PAL_NEWZEALAND - - CCIR frequencies %FREQ_CCIR_I_III - %FREQ_CCIR_SL_SH - %FREQ_CCIR_H - OIRT frequencies %FREQ_OIRT_I_III - %FREQ_OIRT_SL_SH - %FREQ_UHF - -=head1 The List of Lists - -The hash %CHANLIST contains name => channel-list pairs, e.g. -$CHANLIST{"ntsc-bcast"} contains a reference to %NTSC_BCAST. - -=head1 AUTHOR - -Nathan Laredo (laredo@broked.net), adapted to perl by Marc Lehmann - - -=cut - -require Exporter; -@ISA = 'Exporter'; -$VERSION = 0.01; - -@EXPORT = qw( - NTSC_AUDIO_CARRIER - PAL_AUDIO_CARRIER_I PAL_AUDIO_CARRIER_BGHN PAL_AUDIO_CARRIER_MN PAL_AUDIO_CARRIER_D - SEACAM_AUDIO_DKK1L SEACAM_AUDIO_BG - NICAM728_PAL_BGH NICAM728_PAL_I - - %NTSC_BCAST %NTSC_CABLE %NTSC_HRC - %NTSC_BCAST_JP %NTSC_CABLE_JP - %FREQ_CCIR_I_III %FREQ_CCIR_SL_SH %FREQ_CCIR_H - %FREQ_OIRT_I_III %FREQ_OIRT_SL_SH %FREQ_UHF - %PAL_AUSTRALIA %PAL_EUROPE %PAL_EUROPE_EAST - %PAL_ITALY %PAL_IRELAND %PAL_NEWZEALAND - - %CHANLIST -); - -sub NTSC_AUDIO_CARRIER() {4500} -sub PAL_AUDIO_CARRIER_I() {6000} -sub PAL_AUDIO_CARRIER_BGHN() {5500} -sub PAL_AUDIO_CARRIER_MN() {4500} -sub PAL_AUDIO_CARRIER_D() {6500} -sub SEACAM_AUDIO_DKK1L() {6500} -sub SEACAM_AUDIO_BG() {5500} -sub NICAM728_PAL_BGH() {5850} -sub NICAM728_PAL_I() {6552} - -%NTSC_BCAST = ( - "2", 55250, - "3", 61250, - "4", 67250, - "5", 77250, - "6", 83250, - "7", 175250, - "8", 181250, - "9", 187250, - "10", 193250, - "11", 199250, - "12", 205250, - "13", 211250, - "14", 471250, - "15", 477250, - "16", 483250, - "17", 489250, - "18", 495250, - "19", 501250, - "20", 507250, - "21", 513250, - "22", 519250, - "23", 525250, - "24", 531250, - "25", 537250, - "26", 543250, - "27", 549250, - "28", 555250, - "29", 561250, - "30", 567250, - "31", 573250, - "32", 579250, - "33", 585250, - "34", 591250, - "35", 597250, - "36", 603250, - "37", 609250, - "38", 615250, - "39", 621250, - "40", 627250, - "41", 633250, - "42", 639250, - "43", 645250, - "44", 651250, - "45", 657250, - "46", 663250, - "47", 669250, - "48", 675250, - "49", 681250, - "50", 687250, - "51", 693250, - "52", 699250, - "53", 705250, - "54", 711250, - "55", 717250, - "56", 723250, - "57", 729250, - "58", 735250, - "59", 741250, - "60", 747250, - "61", 753250, - "62", 759250, - "63", 765250, - "64", 771250, - "65", 777250, - "66", 783250, - "67", 789250, - "68", 795250, - "69", 801250, - - "70", 807250, - "71", 813250, - "72", 819250, - "73", 825250, - "74", 831250, - "75", 837250, - "76", 843250, - "77", 849250, - "78", 855250, - "79", 861250, - "80", 867250, - "81", 873250, - "82", 879250, - "83", 885250, -); - -%NTSC_CABLE = ( - "1", 73250, - "2", 55250, - "3", 61250, - "4", 67250, - "5", 77250, - "6", 83250, - "7", 175250, - "8", 181250, - "9", 187250, - "10", 193250, - "11", 199250, - "12", 205250, - - "13", 211250, - "14", 121250, - "15", 127250, - "16", 133250, - "17", 139250, - "18", 145250, - "19", 151250, - "20", 157250, - - "21", 163250, - "22", 169250, - "23", 217250, - "24", 223250, - "25", 229250, - "26", 235250, - "27", 241250, - "28", 247250, - "29", 253250, - "30", 259250, - "31", 265250, - "32", 271250, - "33", 277250, - "34", 283250, - "35", 289250, - "36", 295250, - "37", 301250, - "38", 307250, - "39", 313250, - "40", 319250, - "41", 325250, - "42", 331250, - "43", 337250, - "44", 343250, - "45", 349250, - "46", 355250, - "47", 361250, - "48", 367250, - "49", 373250, - "50", 379250, - "51", 385250, - "52", 391250, - "53", 397250, - "54", 403250, - "55", 409250, - "56", 415250, - "57", 421250, - "58", 427250, - "59", 433250, - "60", 439250, - "61", 445250, - "62", 451250, - "63", 457250, - "64", 463250, - "65", 469250, - "66", 475250, - "67", 481250, - "68", 487250, - "69", 493250, - - "70", 499250, - "71", 505250, - "72", 511250, - "73", 517250, - "74", 523250, - "75", 529250, - "76", 535250, - "77", 541250, - "78", 547250, - "79", 553250, - "80", 559250, - "81", 565250, - "82", 571250, - "83", 577250, - "84", 583250, - "85", 589250, - "86", 595250, - "87", 601250, - "88", 607250, - "89", 613250, - "90", 619250, - "91", 625250, - "92", 631250, - "93", 637250, - "94", 643250, - "95", 91250, - "96", 97250, - "97", 103250, - "98", 109250, - "99", 115250, - "100", 649250, - "101", 655250, - "102", 661250, - "103", 667250, - "104", 673250, - "105", 679250, - "106", 685250, - "107", 691250, - "108", 697250, - "109", 703250, - "110", 709250, - "111", 715250, - "112", 721250, - "113", 727250, - "114", 733250, - "115", 739250, - "116", 745250, - "117", 751250, - "118", 757250, - "119", 763250, - "120", 769250, - "121", 775250, - "122", 781250, - "123", 787250, - "124", 793250, - "125", 799250, - - "T7", 8250, - "T8", 14250, - "T9", 20250, - "T10", 26250, - "T11", 32250, - "T12", 38250, - "T13", 44250, - "T14", 50250, -); - -%NTSC_HRC = ( - "1", 72000, - "2", 54000, - "3", 60000, - "4", 66000, - "5", 78000, - "6", 84000, - "7", 174000, - "8", 180000, - "9", 186000, - "10", 192000, - "11", 198000, - "12", 204000, - - "13", 210000, - "14", 120000, - "15", 126000, - "16", 132000, - "17", 138000, - "18", 144000, - "19", 150000, - "20", 156000, - - "21", 162000, - "22", 168000, - "23", 216000, - "24", 222000, - "25", 228000, - "26", 234000, - "27", 240000, - "28", 246000, - "29", 252000, - "30", 258000, - "31", 264000, - "32", 270000, - "33", 276000, - "34", 282000, - "35", 288000, - "36", 294000, - "37", 300000, - "38", 306000, - "39", 312000, - "40", 318000, - "41", 324000, - "42", 330000, - "43", 336000, - "44", 342000, - "45", 348000, - "46", 354000, - "47", 360000, - "48", 366000, - "49", 372000, - "50", 378000, - "51", 384000, - "52", 390000, - "53", 396000, - "54", 402000, - "55", 408000, - "56", 414000, - "57", 420000, - "58", 426000, - "59", 432000, - "60", 438000, - "61", 444000, - "62", 450000, - "63", 456000, - "64", 462000, - "65", 468000, - "66", 474000, - "67", 480000, - "68", 486000, - "69", 492000, - - "70", 498000, - "71", 504000, - "72", 510000, - "73", 516000, - "74", 522000, - "75", 528000, - "76", 534000, - "77", 540000, - "78", 546000, - "79", 552000, - "80", 558000, - "81", 564000, - "82", 570000, - "83", 576000, - "84", 582000, - "85", 588000, - "86", 594000, - "87", 600000, - "88", 606000, - "89", 612000, - "90", 618000, - "91", 624000, - "92", 630000, - "93", 636000, - "94", 642000, - "95", 900000, - "96", 960000, - "97", 102000, - "98", 108000, - "99", 114000, - "100", 648000, - "101", 654000, - "102", 660000, - "103", 666000, - "104", 672000, - "105", 678000, - "106", 684000, - "107", 690000, - "108", 696000, - "109", 702000, - "110", 708000, - "111", 714000, - "112", 720000, - "113", 726000, - "114", 732000, - "115", 738000, - "116", 744000, - "117", 750000, - "118", 756000, - "119", 762000, - "120", 768000, - "121", 774000, - "122", 780000, - "123", 786000, - "124", 792000, - "125", 798000, - - "T7", 7000, - "T8", 13000, - "T9", 19000, - "T10", 25000, - "T11", 31000, - "T12", 37000, - "T13", 43000, - "T14", 49000, -); - -%NTSC_BCAST_JP = ( - "1", 91250, - "2", 97250, - "3", 103250, - "4", 171250, - "5", 177250, - "6", 183250, - "7", 189250, - "8", 193250, - "9", 199250, - "10", 205250, - "11", 211250, - "12", 217250, - - "13", 471250, - "14", 477250, - "15", 483250, - "16", 489250, - "17", 495250, - "18", 501250, - "19", 507250, - "20", 513250, - "21", 519250, - "22", 525250, - "23", 531250, - "24", 537250, - "25", 543250, - "26", 549250, - "27", 555250, - "28", 561250, - "29", 567250, - "30", 573250, - "31", 579250, - "32", 585250, - "33", 591250, - "34", 597250, - "35", 603250, - "36", 609250, - "37", 615250, - "38", 621250, - "39", 627250, - "40", 633250, - "41", 639250, - "42", 645250, - "43", 651250, - "44", 657250, - - "45", 663250, - "46", 669250, - "47", 675250, - "48", 681250, - "49", 687250, - "50", 693250, - "51", 699250, - "52", 705250, - "53", 711250, - "54", 717250, - "55", 723250, - "56", 729250, - "57", 735250, - "58", 741250, - "59", 747250, - "60", 753250, - "61", 759250, - "62", 765250, -); - -%NTSC_CABLE_JP = ( - "13", 109250, - "14", 115250, - "15", 121250, - "16", 127250, - "17", 133250, - "18", 139250, - "19", 145250, - "20", 151250, - - "21", 157250, - "22", 165250, - "23", 223250, - "24", 231250, - "25", 237250, - "26", 243250, - "27", 249250, - "28", 253250, - "29", 259250, - "30", 265250, - "31", 271250, - "32", 277250, - "33", 283250, - "34", 289250, - "35", 295250, - "36", 301250, - "37", 307250, - "38", 313250, - "39", 319250, - "40", 325250, - "41", 331250, - "42", 337250, - "43", 343250, - "44", 349250, - "45", 355250, - "46", 361250, - "47", 367250, - "48", 373250, - "49", 379250, - "50", 385250, - "51", 391250, - "52", 397250, - "53", 403250, - "54", 409250, - "55", 415250, - "56", 421250, - "57", 427250, - "58", 433250, - "59", 439250, - "60", 445250, - "61", 451250, - "62", 457250, - "63", 463250, -); - -%PAL_AUSTRALIA = ( - "0", 46250, - "1", 57250, - "2", 64250, - "3", 86250, - "4", 95250, - "5", 102250, - "6", 175250, - "7", 182250, - "8", 189250, - "9", 196250, - "10", 209250, - "11", 216250, - "28", 527250, - "29", 534250, - "30", 541250, - "31", 548250, - "32", 555250, - "33", 562250, - "34", 569250, - "35", 576250, - "39", 604250, - "40", 611250, - "41", 618250, - "42", 625250, - "43", 632250, - "44", 639250, - "45", 646250, - "46", 653250, - "47", 660250, - "48", 667250, - "49", 674250, - "50", 681250, - "51", 688250, - "52", 695250, - "53", 702250, - "54", 709250, - "55", 716250, - "56", 723250, - "57", 730250, - "58", 737250, - "59", 744250, - "60", 751250, - "61", 758250, - "62", 765250, - "63", 772250, - "64", 779250, - "65", 786250, - "66", 793250, - "67", 800250, - "68", 807250, - "69", 814250, -); - -%FREQ_CCIR_I_III = ( - "E2", 48250, - "E3", 55250, - "E4", 62250, - - "S01", 69250, - "S02", 76250, - "S03", 83250, - - "E5", 175250, - "E6", 182250, - "E7", 189250, - "E8", 196250, - "E9", 203250, - "E10", 210250, - "E11", 217250, - "E12", 224250, -); - -%FREQ_CCIR_SL_SH = ( - "SE1", 105250, - "SE2", 112250, - "SE3", 119250, - "SE4", 126250, - "SE5", 133250, - "SE6", 140250, - "SE7", 147250, - "SE8", 154250, - "SE9", 161250, - "SE10", 168250, - - "SE11", 231250, - "SE12", 238250, - "SE13", 245250, - "SE14", 252250, - "SE15", 259250, - "SE16", 266250, - "SE17", 273250, - "SE18", 280250, - "SE19", 287250, - "SE20", 294250, -); - -%FREQ_CCIR_H = ( - "S21", 303250, - "S22", 311250, - "S23", 319250, - "S24", 327250, - "S25", 335250, - "S26", 343250, - "S27", 351250, - "S28", 359250, - "S29", 367250, - "S30", 375250, - "S31", 383250, - "S32", 391250, - "S33", 399250, - "S34", 407250, - "S35", 415250, - "S36", 423250, - "S37", 431250, - "S38", 439250, - "S39", 447250, - "S40", 455250, - "S41", 463250, -); - -%FREQ_OIRT_I_III = ( - "R1", 49750, - "R2", 59250, - - "R3", 77250, - "R4", 84250, - "R5", 93250, - - "R6", 175250, - "R7", 183250, - "R8", 191250, - "R9", 199250, - "R10", 207250, - "R11", 215250, - "R12", 223250, -); - -%FREQ_OIRT_SL_SH = ( - "SR1", 111250, - "SR2", 119250, - "SR3", 127250, - "SR4", 135250, - "SR5", 143250, - "SR6", 151250, - "SR7", 159250, - "SR8", 167250, - - "SR11", 231250, - "SR12", 239250, - "SR13", 247250, - "SR14", 255250, - "SR15", 263250, - "SR16", 271250, - "SR17", 279250, - "SR18", 287250, - "SR19", 295250, -); - -%FREQ_UHF = ( - "21", 471250, - "22", 479250, - "23", 487250, - "24", 495250, - "25", 503250, - "26", 511250, - "27", 519250, - "28", 527250, - "29", 535250, - "30", 543250, - "31", 551250, - "32", 559250, - "33", 567250, - "34", 575250, - "35", 583250, - "36", 591250, - "37", 599250, - "38", 607250, - "39", 615250, - "40", 623250, - "41", 631250, - "42", 639250, - "43", 647250, - "44", 655250, - "45", 663250, - "46", 671250, - "47", 679250, - "48", 687250, - "49", 695250, - "50", 703250, - "51", 711250, - "52", 719250, - "53", 727250, - "54", 735250, - "55", 743250, - "56", 751250, - "57", 759250, - "58", 767250, - "59", 775250, - "60", 783250, - "61", 791250, - "62", 799250, - "63", 807250, - "64", 815250, - "65", 823250, - "66", 831250, - "67", 839250, - "68", 847250, - "69", 855250, -); - -%PAL_EUROPE = ( - %FREQ_CCIR_I_III, - %FREQ_CCIR_SL_SH, - %FREQ_CCIR_H, - %FREQ_UHF -); - -%PAL_EUROPE_EAST = ( - %FREQ_OIRT_I_III, - %FREQ_OIRT_SL_SH, - %FREQ_CCIR_H, - %FREQ_UHF -); - -%PAL_ITALY = ( - "2", 53750, - "3", 62250, - "4", 82250, - "5", 175250, - "6", 183750, - "7", 192250, - "8", 201250, - "9", 210250, - "10", 210250, - "11", 217250, - "12", 224250, -); - -%PAL_IRELAND = ( - "0", 45750, - "1", 53750, - "2", 61750, - "3", 175250, - "4", 183250, - "5", 191250, - "6", 199250, - "7", 207250, - "8", 215250, - %FREQ_UHF, -); - -%PAL_NEWZEALAND = ( - "1", 45250, - "2", 55250, - "3", 62250, - "4", 175250, - "5", 182250, - "5A", 138250, - "6", 189250, - "7", 196250, - "8", 203250, - "9", 210250, - "10", 217250, -); - -%CHANLIST = ( - "ntsc-bcast", \%NTSC_BCAST, - "ntsc-cable", \%NTSC_CABLE, - "ntsc-cable-hrc", \%NTSC_HRC, - "ntsc-bcast-jp", \%NTSC_BCAST_JP, - "ntsc-cable-jp", \%NTSC_CABLE_JP, - "pal-europe", \%PAL_EUROPE, - "pal-europe-east", \%PAL_EUROPE_EAST, - "pal-italy", \%PAL_ITALY, - "pal-newzealand", \%PAL_NEWZEALAND, - "pal-australia", \%PAL_AUSTRALIA, - "pal-ireland", \%PAL_IRELAND, -); - -1; debian/patches/compile_with_-fPIC.patch0000644000000000000000000000232711350204541015236 0ustar Description: Use -fPIC, minor compile fixes. Debian-Bugs: #258991, #259440, #258680 Author: Matthias Urlichs --- a/RTjpeg/Makefile.PL +++ b/RTjpeg/Makefile.PL @@ -3,6 +3,7 @@ use ExtUtils::MakeMaker; WriteMakefile( NAME => 'Video::RTjpeg', VERSION_FROM => 'RTjpeg.pm', + CCFLAGS => '-fPIC', OBJECT => '$(BASEEXT)$(OBJ_EXT) codec/RTjpeg.o', ); @@ -11,6 +12,6 @@ codec/RTjpeg.c: codec/compose.sh cd codec && . ./compose.sh codec/RTjpeg.o: codec/RTjpeg.c codec/RTjpeg.h - \$(CCCMD) \$(CCCDLFLAGS) -o \$@ \$< + \$(CCCMD) \$(CCCDLFLAGS) -fPIC -o \$@ \$< EOF } --- a/Makefile.PL +++ b/Makefile.PL @@ -9,6 +9,7 @@ WriteMakefile( 'NAME' => 'Video::Frequencies', DISTNAME => 'Video-Capture-V4l', 'VERSION_FROM' => 'V4l/V4l.pm', + CCFLAGS => '-fPIC', linkext => {LINKTYPE => ''}, DIR => ['V4l','VBI','RTjpeg'], ); --- a/VBI/VBI.xs +++ b/VBI/VBI.xs @@ -482,7 +482,7 @@ decoder_decode (decoder *dec, UI y, u8 * case 0x55: break; default: - ; /* no teletext page */ + break; /* no teletext page */ } if (data[1] == 0x55) debian/patches/bashism.patch0000644000000000000000000000071511350204544013265 0ustar Description: Fix bashism: dash requires path to file in "." when sourcing it. Bug-Debian: #374151 Author: Joey Hess Date: Sat, 11 Aug 2007 21:15:46 -0400 --- a/RTjpeg/Makefile.PL +++ b/RTjpeg/Makefile.PL @@ -8,7 +8,7 @@ WriteMakefile( sub MY::postamble { < Author: gregor herrmann Description: making the module use v4l1_open function from libv4l Bugs-Debian: #569091 -- Uses obsolete V4L1 API --- a/V4l/V4l.pm +++ b/V4l/V4l.pm @@ -7,6 +7,7 @@ require Exporter; require DynaLoader; +use IO::Handle; use Fcntl; $VERSION = '0.902'; @@ -92,9 +93,8 @@ my $device = shift || "/dev/video0"; my $self = bless { device => $device }, $class; - $self->{handle} = local *{$device}; - sysopen $self->{handle},$device,O_RDWR or return; - $self->{fd} = fileno ($self->{handle}); + $self->{fd} = v4l_open($device,O_RDWR) or return; + $self->{handle} = IO::Handle->new_from_fd( $self->{fd}, 'w' ); $self->{capability} = _capabilities_new ($self->{fd}); $self->{picture} = _picture_new ($self->{fd}); @@ -176,9 +176,8 @@ my $device = shift || "/dev/vbi0"; my $self = bless { device => $device }, $class; - $self->{handle} = local *{$device}; - sysopen $self->{handle},$device,O_RDWR or return; - $self->{fd} = fileno ($self->{handle}); + $self->{fd} = v4l_open($device,O_RDWR) or return; + $self->{handle} = IO::Handle->new_from_fd( $self->{fd}, 'w' ); $self } --- a/V4l/Makefile.PL +++ b/V4l/Makefile.PL @@ -8,5 +8,5 @@ WriteMakefile( 'NAME' => 'Video::Capture::V4l', 'VERSION_FROM' => 'V4l.pm', - LIBS => '-lpthread', + LIBS => '-lpthread -lv4l1', ); --- a/V4l/V4l.xs +++ b/V4l/V4l.xs @@ -9,7 +9,7 @@ #include #include -#include +#include #define NEED_newCONSTSUB #include "../gppport.h" @@ -89,7 +89,7 @@ private_free (pTHX_ SV *obj, MAGIC *mg) { struct private *p = (struct private *)mg->mg_ptr; - munmap (p->mmap_base, p->vm.size); + v4l1_munmap (p->mmap_base, p->vm.size); return 0; } @@ -105,9 +105,9 @@ { struct private p; p.fd = SvIV (*hv_fetch (hv, "fd", 2, 0)); - if (ioctl (p.fd, VIDIOCGMBUF, &p.vm) == 0) + if (v4l1_ioctl (p.fd, VIDIOCGMBUF, &p.vm) == 0) { - p.mmap_base = (unsigned char *)mmap (0, p.vm.size, PROT_READ|PROT_WRITE, MAP_SHARED, p.fd, 0); + p.mmap_base = (unsigned char *)v4l1_mmap (0, p.vm.size, PROT_READ|PROT_WRITE, MAP_SHARED, p.fd, 0); if (p.mmap_base) { sv_magic ((SV*)hv, 0, '~', (char*)&p, sizeof p); @@ -164,7 +164,7 @@ pthread_mutex_unlock (&vbi_lock); next->next = 0; - next->size = read (vbi_fd, next->data, VBI_BPF); + next->size = v4l1_read (vbi_fd, next->data, VBI_BPF); pthread_mutex_lock (&vbi_lock); @@ -229,7 +229,7 @@ RETVAL = newSVpvn ("", 0); SvGROW (RETVAL, VBI_BPF); - len = read (fd, SvPV_nolen (RETVAL), VBI_BPF); + len = v4l1_read (fd, SvPV_nolen (RETVAL), VBI_BPF); SvCUR_set (RETVAL, len); } @@ -314,6 +314,15 @@ OUTPUT: RETVAL +int +v4l_open (file,oflag) + char *file + int oflag + CODE: + RETVAL = v4l1_open (file, oflag); + OUTPUT: + RETVAL + MODULE = Video::Capture::V4l PACKAGE = Video::Capture::V4l SV * @@ -333,7 +342,7 @@ vm.height = height; vm.width = width; vm.format = format; - if (ioctl (p->fd, VIDIOCMCAPTURE, &vm) == 0) + if (v4l1_ioctl (p->fd, VIDIOCMCAPTURE, &vm) == 0) { SV *fr = newSV (0); SvUPGRADE (fr, SVt_PV); @@ -361,7 +370,7 @@ { struct private *p; if ((p = find_private (sv)) - && ioctl (p->fd, VIDIOCSYNC, &frame) == 0) + && v4l1_ioctl (p->fd, VIDIOCSYNC, &frame) == 0) XSRETURN_YES; else XSRETURN_EMPTY; @@ -375,11 +384,11 @@ if (items > 1) { fr = ((fr<<4)+499)/1000; - ioctl (fd, VIDIOCSFREQ, &fr); + v4l1_ioctl (fd, VIDIOCSFREQ, &fr); } if (GIMME_V != G_VOID) { - if (ioctl (fd, VIDIOCGFREQ, &fr) == 0) + if (v4l1_ioctl (fd, VIDIOCGFREQ, &fr) == 0) RETVAL = (fr*1000+7)>>4; else XSRETURN_EMPTY; @@ -430,13 +439,22 @@ OUTPUT: RETVAL +int +v4l_open (file,oflag) + char *file + int oflag + CODE: + RETVAL = v4l1_open (file, oflag); + OUTPUT: + RETVAL + MODULE = Video::Capture::V4l PACKAGE = Video::Capture::V4l::Capability void get(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCGCAP, old_struct (sv, "Video::Capture::V4l::Capability")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCGCAP, old_struct (sv, "Video::Capture::V4l::Capability")) == 0); MODULE = Video::Capture::V4l PACKAGE = Video::Capture::V4l::Channel @@ -444,13 +462,13 @@ get(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCGCHAN, old_struct (sv, "Video::Capture::V4l::Channel")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCGCHAN, old_struct (sv, "Video::Capture::V4l::Channel")) == 0); void set(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCSCHAN, old_struct (sv, "Video::Capture::V4l::Channel")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCSCHAN, old_struct (sv, "Video::Capture::V4l::Channel")) == 0); MODULE = Video::Capture::V4l PACKAGE = Video::Capture::V4l::Tuner @@ -458,13 +476,13 @@ get(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCGTUNER, old_struct (sv, "Video::Capture::V4l::Tuner")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCGTUNER, old_struct (sv, "Video::Capture::V4l::Tuner")) == 0); void set(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCSTUNER, old_struct (sv, "Video::Capture::V4l::Tuner")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCSTUNER, old_struct (sv, "Video::Capture::V4l::Tuner")) == 0); MODULE = Video::Capture::V4l PACKAGE = Video::Capture::V4l::Audio @@ -472,13 +490,13 @@ get(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCGAUDIO, old_struct (sv, "Video::Capture::V4l::Audio")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCGAUDIO, old_struct (sv, "Video::Capture::V4l::Audio")) == 0); void set(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCSAUDIO, old_struct (sv, "Video::Capture::V4l::Audio")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCSAUDIO, old_struct (sv, "Video::Capture::V4l::Audio")) == 0); MODULE = Video::Capture::V4l PACKAGE = Video::Capture::V4l::Picture @@ -486,13 +504,13 @@ get(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCGPICT, old_struct (sv, "Video::Capture::V4l::Picture")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCGPICT, old_struct (sv, "Video::Capture::V4l::Picture")) == 0); void set(sv) SV * sv CODE: - XSRETURN_bool (ioctl (SvIV (SvRV (sv)), VIDIOCSPICT, old_struct (sv, "Video::Capture::V4l::Picture")) == 0); + XSRETURN_bool (v4l1_ioctl (SvIV (SvRV (sv)), VIDIOCSPICT, old_struct (sv, "Video::Capture::V4l::Picture")) == 0); # accessors/mutators INCLUDE: ./genacc | @@ -510,9 +528,6 @@ newCONSTSUB(stash,"AUDIO_MUTE", newSViv(VIDEO_AUDIO_MUTE)); newCONSTSUB(stash,"AUDIO_TREBLE", newSViv(VIDEO_AUDIO_TREBLE)); newCONSTSUB(stash,"AUDIO_VOLUME", newSViv(VIDEO_AUDIO_VOLUME)); - newCONSTSUB(stash,"CAPTURE_EVEN", newSViv(VIDEO_CAPTURE_EVEN)); - newCONSTSUB(stash,"CAPTURE_ODD", newSViv(VIDEO_CAPTURE_ODD)); - newCONSTSUB(stash,"MAX_FRAME", newSViv(VIDEO_MAX_FRAME)); newCONSTSUB(stash,"MODE_AUTO", newSViv(VIDEO_MODE_AUTO)); newCONSTSUB(stash,"MODE_NTSC", newSViv(VIDEO_MODE_NTSC)); newCONSTSUB(stash,"MODE_PAL", newSViv(VIDEO_MODE_PAL)); debian/patches/series0000644000000000000000000000014111562141516012030 0ustar bashism.patch compile-failure.patch compile_with_-fPIC.patch v4l2.patch remove_frequencies.patch debian/compat0000644000000000000000000000000211350200470010354 0ustar 7 debian/control0000644000000000000000000000227411562141301010570 0ustar Source: libvideo-capture-v4l-perl Section: perl Priority: optional Build-Depends: debhelper (>= 7), libv4l-dev, perl Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian Perl Group Uploaders: gregor herrmann , Dominic Hargreaves Standards-Version: 3.9.2 Homepage: http://search.cpan.org/dist/Video-Capture-V4l/ Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libvideo-capture-v4l-perl/ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libvideo-capture-v4l-perl/ Package: libvideo-capture-v4l-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends}, libvideo-frequencies-perl Description: Perl interface to the Video4linux framegrabber interface This package contains Perl modules which interface to the Video4linux frame grabber. . The following Perl modules are included in this package: . * Video::Capture::V4l - Video4linux framegrabber interface * Video::Capture::VBI - Functions to manipulate vbi fields & lines * Video::RTjpeg - Real time, jpeg-like video compression * Video::XawTV - read, create and edit .xawtvrc files debian/changelog0000644000000000000000000001436612231176530011052 0ustar libvideo-capture-v4l-perl (0.902-3ubuntu3) trusty; urgency=low * Rebuild for Perl 5.18. -- Colin Watson Mon, 21 Oct 2013 11:09:28 +0100 libvideo-capture-v4l-perl (0.902-3ubuntu2) precise; urgency=low * Rebuild for Perl 5.14. -- Colin Watson Tue, 15 Nov 2011 20:21:18 +0000 libvideo-capture-v4l-perl (0.902-3ubuntu1) oneiric; urgency=low * Resynchronise with Debian (LP: #755948). Remaining changes: - Drop Frequencies module, already provided by libvideo-frequencies-perl. - debian/control: + Depends on libvideo-frequencies-perl. + Update description. -- Colin Watson Tue, 10 May 2011 05:46:11 +0100 libvideo-capture-v4l-perl (0.902-3) unstable; urgency=low * Tweak patch v4l2.patch to stop using the now-removed linux/videodev.h (Closes: #621466) * Update Standards-Version (no changes) -- Dominic Hargreaves Sun, 01 May 2011 17:16:13 +0100 libvideo-capture-v4l-perl (0.902-2ubuntu2) oneiric; urgency=low * Rebuild for Perl 5.12. -- Colin Watson Sun, 08 May 2011 13:36:53 +0100 libvideo-capture-v4l-perl (0.902-2ubuntu1) maverick; urgency=low * Merge from debian testing, remaining changes: - Drop Frequencies module, already provided by libvideo-frequencies-perl. - debian/control: + Depends on libvideo-frequencies-perl. + Update description. -- Alessio Treglia Sat, 08 May 2010 10:09:01 +0200 libvideo-capture-v4l-perl (0.902-2) unstable; urgency=low [ gregor herrmann ] * debian/control: Changed: Switched Vcs-Browser field to ViewSVN (source stanza). * debian/control: Added: ${misc:Depends} to Depends: field. [ Nathan Handler ] * debian/watch: Update to ignore development releases. [ Damyan Ivanov ] * add v4l2.patch, making the module use v4l1_open function from libv4l. Closes: #569091 -- Uses obsolete V4L1 API [ gregor herrmann ] * Convert to source format 3.0 (quilt). * Convert to debhelper 7. * Set Standards-Version to 3.8.4; drop version from perl build dependency. * Convert debian/copyright to DEP5 format. * Add DEP3 headers to patches. -- gregor herrmann Wed, 17 Mar 2010 18:00:32 +0100 libvideo-capture-v4l-perl (0.902-1ubuntu1) jaunty; urgency=low * Add remove_frequencies patch to remove Video::Frequencies module, which is provided by libvideo-frequencies-perl (LP: #223815). * debian/control: - Depends on libvideo-frequencies-perl. - Update the description. - Update maintainer field as per spec. -- Alessio Treglia Sat, 21 Feb 2009 01:51:54 +0100 libvideo-capture-v4l-perl (0.902-1) unstable; urgency=low * New upstream release. * Set Standards-Version to 3.8.0; add debian/README.source to document quilt usage. * Refresh compile-failure.patch (parts of the patch are adopted upstreams). -- gregor herrmann Sat, 26 Jul 2008 17:13:52 +0200 libvideo-capture-v4l-perl (0.901-4) unstable; urgency=low * debian/rules: touch Makefile in clean target after unpatching Makefile.PL to prevent it from being re-built; allows building twice in a row. * Refresh debian/rules in general. * Add /me to Uploaders. -- gregor herrmann Wed, 30 Apr 2008 22:35:27 +0200 libvideo-capture-v4l-perl (0.901-3) unstable; urgency=low [ gregor herrmann ] * debian/control: Added: Vcs-Svn field (source stanza); Vcs-Browser field (source stanza); Homepage field (source stanza). Removed: XS- Vcs-Svn fields. * debian/rules: delete /usr/share/perl5 only if it exists. * Set Standards-Level to 3.7.3 (no changes needed). * Set debhelper compatibility level to 6. * debian/copyright: - add additional copyright holders and licenses - convert to new format [ Frank Lichtenheld ] * debian/rules: let dh_strip handle nostrip support internally [ Damyan Ivanov ] * debian/watch: use dist-based URL. * put changes to upstream source in quilt patches * do not install redundant README * remove unused debhelper calls -- Roberto C. Sanchez Sat, 26 Jan 2008 14:49:50 -0500 libvideo-capture-v4l-perl (0.901-2) unstable; urgency=low * Fix bashism: dash requires path to file in "." when sourcing it. Closes: #374151 * Add self to uploaders. * Remove generated file RTjpeg/codec/RTjpeg.c in clean. * Don't ignore make realclean errors. -- Joey Hess Sat, 11 Aug 2007 21:15:46 -0400 libvideo-capture-v4l-perl (0.901-1) unstable; urgency=low * New upstream release * New maintainer (in response to Matthias' mail, see http://lists.debian.org/debian-devel/2006/05/msg02947.html) Debian Perl Group via Zak B. Elep * debian/control: + Bump Standards-Version. + Bump debhelper to version 5; set debian/compat accordingly. * debian/copyright: + Update maintenance notes. * Added debian/watch . -- Zak B. Elep Thu, 29 Jun 2006 13:50:30 +0800 libvideo-capture-v4l-perl (0.225-1) unstable; urgency=low * New Upstream version. * Fix FTBFS. Closes:#318547. -- Matthias Urlichs Mon, 23 Jan 2006 11:03:18 +0100 libvideo-capture-v4l-perl (0.224-5) unstable; urgency=low * Missed a -fPIC in a sub-Makefile, minor compile fixes. - Closes: #258991, #259440 * Don't nest examples/ directories. -- Matthias Urlichs Thu, 15 Jul 2004 10:24:22 +0200 libvideo-capture-v4l-perl (0.224-4) unstable; urgency=low * Makefile.PL: CFLAGS => CCFLAGS -- Matthias Urlichs Mon, 12 Jul 2004 18:21:16 +0200 libvideo-capture-v4l-perl (0.224-2) unstable; urgency=low * Use -fPIC. - Closes: #258680 - Thanks to Goswin Brederlow . -- Matthias Urlichs Sun, 11 Jul 2004 07:14:51 +0200 libvideo-capture-v4l-perl (0.224-1) unstable; urgency=low * New Upstream version. - minor updates -- Matthias Urlichs Wed, 7 Jul 2004 22:14:35 +0200 libvideo-capture-v4l-perl (0.222-1) unstable; urgency=low * Initial Release. - Closes: #256806 (ITP) -- Matthias Urlichs Tue, 29 Jun 2004 09:57:09 +0200