import libiec61883-1.2.0-18.el8

This commit is contained in:
CentOS Sources 2019-07-29 22:49:09 -04:00 committed by Stepan Oksanichenko
commit ed31f5b52a
5 changed files with 336 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/libiec61883-1.2.0.tar.gz

1
.libiec61883.metadata Normal file
View File

@ -0,0 +1 @@
2a8a759ab19fac972bacbe234c0ce21d90f7aca0 SOURCES/libiec61883-1.2.0.tar.gz

View File

@ -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

View File

@ -0,0 +1,117 @@
Date: Thu, 15 Jan 2009 15:41:16 +0100 (CET)
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
Subject: [PATCH libiec61883] cmp: replace open-coded channel allocation by
raw1394_channel_modify
To: Dan Dennedy <dan@dennedy.org>
Cc: linux1394-devel@lists.sourceforge.net
On 15 Jan, Dan Dennedy wrote:
> On Thu, Jan 1, 2009 at 5:13 AM, Stefan Richter
> <stefanr@s5r6.in-berlin.de> 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/

189
SPECS/libiec61883.spec Normal file
View File

@ -0,0 +1,189 @@
Summary: Streaming library for IEEE1394
Name: libiec61883
Version: 1.2.0
Release: 18%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
Source: http://www.kernel.org/pub/linux/libs/ieee1394/%{name}-%{version}.tar.gz
# Fedora specific patches.
Patch0: libiec61883-1.2.0-installtests.patch
Patch1: libiec61883-channel-allocation-without-local-node-rw.patch
URL: http://ieee1394.wiki.kernel.org/index.php/Libraries#libiec61883
ExcludeArch: s390 s390x
# Works only with newer libraw1394 versions
BuildRequires: libraw1394-devel
%description
The libiec61883 library provides an higher level API for streaming DV,
MPEG-2 and audio over IEEE1394. Based on the libraw1394 isochronous
functionality, this library acts as a filter that accepts DV-frames,
MPEG-2 frames or audio samples from the application and breaks these
down to isochronous packets, which are transmitted using libraw1394.
%package devel
Summary: Development files for libiec61883
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Development files needed to build applications against libiec61883
%package utils
Summary: Utilities for use with libiec61883
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
%description utils
Utilities that make use of iec61883
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%configure --disable-static
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README
%{_libdir}/libiec61883.so.*
%files devel
%defattr(-,root,root,-)
%{_libdir}/libiec61883.so
%dir %{_includedir}/libiec61883
%{_includedir}/libiec61883/*.h
%{_libdir}/pkgconfig/libiec61883.pc
%files utils
%defattr(-,root,root,-)
%{_bindir}/*
%{_mandir}/man1/*.1*
%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Sep 24 2010 Parag Nemade <paragn AT fedoraproject.org> 1.2.0-5
- Merge-review cleanup (#226030)
* Fri Jan 8 2010 Jay Fenlason <fenlason@redhat.com> 1.2.0-4
- Update the Source and URL fields to point to correct locations.
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Thu Jan 15 2009 Jarod Wilson <jarod@redhat.com> 1.2.0-1
- Update to libiec61883 v1.2.0 release
- Rework installtests patch to not require autoreconf
- Make iso channel allocation work w/o local fw node r/w
* Tue Jul 22 2008 Jarod Wilson <jwilson@redhat.com> 1.1.0-5
- Bump and rebuild for libraw1394 v2.0.0
* Thu Feb 14 2008 Jarod Wilson <jwilson@redhat.com> 1.1.0-4
- Bump and rebuild with gcc 4.3
* Wed Dec 19 2007 Jarod Wilson <jwilson@redhat.com> 1.1.0-3
- Fix license and group tags (#411201)
- Clean up spacing and macro/var inconsistency
* Mon Mar 26 2007 Jarod Wilson <jwilson@redhat.com> 1.1.0-2
- Own created directories (#233865)
* Wed Oct 25 2006 Jarod Wilson <jwilson@redhat.com> 1.1.0-1
- Update to 1.1.0 release
* Wed Oct 11 2006 Jarod Wilson <jwilson@redhat.com> 1.0.0-11
- Use %%dist tag
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> 1.0.0-10.fc5.2.1
- rebuild
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> 1.0.0-10.fc5.2
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> 1.0.0-10.fc5.1
- rebuilt for new gcc4.1 snapshot and glibc changes
* Fri Dec 30 2005 Jarod Wilson <jarod@wilsonet.com> 1.0.0-10
- Add missing autoconf, automake and libtool
BuildRequires
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Fri Nov 11 2005 Warren Togami <wtogami@redhat.com> 1.0.0-9
- incorporate some spec improvements from Matthias (#172105)
* Mon Sep 19 2005 Warren Togami <wtogami@redhat.com> 1.0.0-8
- split -devel for pkgconfig chain
- remove .a and .la
- exclude s390 and s390x
* Tue Apr 5 2005 Axel Thimm <Axel.Thimm@ATrpms.net>
- Fixes for building properly on x86_64.
* Mon Mar 28 2005 Jarod Wilson <jarod@wilsonet.com>
- Fixed utils so they build properly
* Sat Feb 26 2005 Jarod Wilson <jarod@wilsonet.com>
- Rolled in utils
* Wed Feb 23 2005 Jarod Wilson <jarod@wilsonet.com>
- Initial build