diff --git a/hardware/firewire/libiec61883/actions.py b/hardware/firewire/libiec61883/actions.py new file mode 100644 index 0000000000..a18409d941 --- /dev/null +++ b/hardware/firewire/libiec61883/actions.py @@ -0,0 +1,20 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "NEWS", "README") diff --git a/hardware/firewire/libiec61883/files/libiec61883-1.2.0-installtests.patch b/hardware/firewire/libiec61883/files/libiec61883-1.2.0-installtests.patch new file mode 100644 index 0000000000..6f62e2305f --- /dev/null +++ b/hardware/firewire/libiec61883/files/libiec61883-1.2.0-installtests.patch @@ -0,0 +1,28 @@ +diff -Naurp libiec61883-1.2.0.orig/examples/Makefile.am libiec61883-1.2.0/examples/Makefile.am +--- libiec61883-1.2.0.orig/examples/Makefile.am 2006-09-24 15:34:12.000000000 -0400 ++++ libiec61883-1.2.0/examples/Makefile.am 2009-01-15 10:29:02.265594991 -0500 +@@ -1,6 +1,6 @@ + +-noinst_PROGRAMS = test-amdtp test-dv test-mpeg2 test-plugs +-bin_PROGRAMS = plugreport plugctl ++noinst_PROGRAMS = ++bin_PROGRAMS = plugreport plugctl test-amdtp test-dv test-mpeg2 test-plugs + man_MANS = plugreport.1 plugctl.1 + EXTRA_DIST = plugreport.1 plugctl.1 + +diff -Naurp libiec61883-1.2.0.orig/examples/Makefile.in libiec61883-1.2.0/examples/Makefile.in +--- libiec61883-1.2.0.orig/examples/Makefile.in 2009-01-15 01:33:33.000000000 -0500 ++++ libiec61883-1.2.0/examples/Makefile.in 2009-01-15 10:28:57.088402078 -0500 +@@ -32,9 +32,10 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-noinst_PROGRAMS = test-amdtp$(EXEEXT) test-dv$(EXEEXT) \ ++noinst_PROGRAMS = ++bin_PROGRAMS = plugreport$(EXEEXT) plugctl$(EXEEXT) \ ++ test-amdtp$(EXEEXT) test-dv$(EXEEXT) \ + test-mpeg2$(EXEEXT) test-plugs$(EXEEXT) +-bin_PROGRAMS = plugreport$(EXEEXT) plugctl$(EXEEXT) + subdir = examples + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 diff --git a/hardware/firewire/libiec61883/files/libiec61883-channel-allocation-without-local-node-rw.patch b/hardware/firewire/libiec61883/files/libiec61883-channel-allocation-without-local-node-rw.patch new file mode 100644 index 0000000000..f3f0934b0c --- /dev/null +++ b/hardware/firewire/libiec61883/files/libiec61883-channel-allocation-without-local-node-rw.patch @@ -0,0 +1,117 @@ +Date: Thu, 15 Jan 2009 15:41:16 +0100 (CET) +From: Stefan Richter +Subject: [PATCH libiec61883] cmp: replace open-coded channel allocation by + raw1394_channel_modify +To: Dan Dennedy +Cc: linux1394-devel@lists.sourceforge.net + +On 15 Jan, Dan Dennedy wrote: +> On Thu, Jan 1, 2009 at 5:13 AM, Stefan Richter +> wrote: +>> input plug register on the local node? AFAICT neither dvgrab nor kino +>> use raw1394_channel_modify and raw1394_bandwidth_modify, not even +>> through libiec61883.) +> +> dvgrab indirectly uses channel_modify when you use its -guid option to +> establish a point-to-point connection. +> + +Hmm. + +$ dvgrab -guid 0x008088030960484b +libiec61883 error: Failed to get channels available. +Established connection over channel 63 +[...proceeds with capture...] + + +--------------------------------- 8< --------------------------------- + +cmp: replace open-coded channel allocation by raw1394_channel_modify + +The benefit is that it works on kernel 2.6.30 firewire-core without +write permission to the IRM's device file (provided that libraw1394 is +extended for 2.6.30 ioctls too, otherwise it still needs access to the +IRM's file). + +If I read the code correctly, iec61883_cmp_normalize_output doesn't care +whether the channel was already allocated by somebody else; it only +cares that the channel is allocated. That's what the new code does too. +--- + src/cmp.c | 56 +++++++++--------------------------------------------- + 1 file changed, 10 insertions(+), 46 deletions(-) + +Index: libiec61883-1.2.0/src/cmp.c +=================================================================== +--- libiec61883-1.2.0.orig/src/cmp.c ++++ libiec61883-1.2.0/src/cmp.c +@@ -973,55 +973,19 @@ iec61883_cmp_normalize_output (raw1394ha + + DEBUG ("iec61883_cmp_normalize_output: node %d\n", (int) node & 0x3f); + +- // Check for plugs on output ++ /* Check for plugs on output */ + result = iec61883_get_oMPR (handle, node, &ompr); + if (result < 0) + return result; + +- // locate an ouput plug that has a connection +- for (oplug = 0; oplug < ompr.n_plugs; oplug++) { +- if (iec61883_get_oPCRX (handle, node, &opcr, oplug) == 0) { +- if (opcr.online && (opcr.n_p2p_connections > 0 || +- opcr.bcast_connection == 1)) { ++ /* Locate an ouptut plug that has a connection, ++ * make sure the plug's channel is allocated with IRM */ ++ for (oplug = 0; oplug < ompr.n_plugs; oplug++) ++ if (iec61883_get_oPCRX (handle, node, &opcr, oplug) == 0 ++ && opcr.online ++ && (opcr.n_p2p_connections > 0 || opcr.bcast_connection == 1) ++ && raw1394_channel_modify (handle, opcr.channel, RAW1394_MODIFY_ALLOC) < 0) ++ DEBUG ("Channel %d already allocated, or can't reach IRM", opcr.channel); + +- // Make sure the plug's channel is allocated with IRM +- quadlet_t buffer; +- nodeaddr_t addr = CSR_REGISTER_BASE; +- unsigned int c = opcr.channel; +- quadlet_t compare, swap = 0; +- quadlet_t new; +- +- if (c > 31 && c < 64) { +- addr += CSR_CHANNELS_AVAILABLE_LO; +- c -= 32; +- } else if (c < 64) +- addr += CSR_CHANNELS_AVAILABLE_HI; +- else +- FAIL ("Invalid channel"); +- c = 31 - c; +- +- result = iec61883_cooked_read (handle, raw1394_get_irm_id (handle), addr, +- sizeof (quadlet_t), &buffer); +- if (result < 0) +- FAIL ("Failed to get channels available."); +- +- buffer = ntohl (buffer); +- DEBUG ("channels available before: 0x%08x", buffer); +- +- if ((buffer & (1 << c)) != 0) { +- swap = htonl (buffer & ~(1 << c)); +- compare = htonl (buffer); +- +- result = raw1394_lock (handle, raw1394_get_irm_id (handle), addr, +- EXTCODE_COMPARE_SWAP, swap, compare, &new); +- if ( (result < 0) || (new != compare) ) { +- FAIL ("Failed to modify channel %d", opcr.channel); +- } +- DEBUG ("channels available after: 0x%08x", ntohl (swap)); +- } +- } +- } +- } +- +- return result; ++ return 0; + } + +-- +Stefan Richter +-=====-==--= ---= -==== +http://arcgraph.de/sr/ diff --git a/hardware/firewire/libiec61883/pspec.xml b/hardware/firewire/libiec61883/pspec.xml new file mode 100644 index 0000000000..f8f96caf8b --- /dev/null +++ b/hardware/firewire/libiec61883/pspec.xml @@ -0,0 +1,75 @@ + + + + + libiec61883 + http://www.linux1394.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + GPLv2 + library + A library for capturing video (DV, MPEG2 or AMDTP) over the IEEE 1394 bus + libiec61883 is a library providing third generation media reception and transmission for DV, MPEG2-TS, and AMDTP (audio and music) using only raw1394 and not the complicated setup and maintenance of other kernel modules and their /dev nodes. + http://www.kernel.org/pub/linux/libs/ieee1394/libiec61883-1.2.0.tar.gz + + libraw1394-devel + + + libiec61883-1.2.0-installtests.patch + libiec61883-channel-allocation-without-local-node-rw.patch + + + + + libiec61883 + + libraw1394 + + + /usr/bin + /usr/lib + /usr/share/doc + /usr/share/man + + + + + libiec61883-devel + Development files for libiec61883 + + libiec61883 + libraw1394-devel + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2014-03-09 + 1.2.0 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2013-07-28 + 1.2.0 + Dep Fixed + PisiLinux Community + admins@pisilinux.org + + + 2012-11-15 + 1.2.0 + First release + PisiLinux Community + admins@pisilinux.org + + + \ No newline at end of file diff --git a/hardware/firewire/libiec61883/translations.xml b/hardware/firewire/libiec61883/translations.xml new file mode 100644 index 0000000000..3ed95b0718 --- /dev/null +++ b/hardware/firewire/libiec61883/translations.xml @@ -0,0 +1,15 @@ + + + + libiec61883 + IEEE 1394 veriyolundan video dosyalarını aktarmak için kullanılan bir kütüphane + IEEE 1394 veriyolundan video dosyalarını aktarmak için kullanılan bir kütüphane + Cette librairie fournit aux les médias de troisième génération la réception et la transmission pour DV, MPEG2-TS et AMDTP (audio et musique) en n'utilisant que raw1394 sans nécessiter une configuration et une maintenance compliquées d'autres modules du noyau et de leurs nodes dans /dev. + La librería facilita recepción y transmisión de media de tercera generación para DV, MPEG2-TS, y AMDTP (audio y music), usando solamente la interfaz 1394 en crudo, sin configuración complicada y mantenimiento de otros módulos de kernel y nodos /dev correspondientes. + + + + libiec61883-devel + libiec61883 için geliştirme dosyaları + +