Updating link to change in openSUSE:Factory/libraw1394 revision 15.0

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libraw1394?expand=0&rev=c16b7d3e95f56656659b270d7e9bb24d
This commit is contained in:
OBS User buildservice-autocommit 2010-10-07 20:25:22 +00:00 committed by Git OBS Bridge
parent 82b46b3050
commit 5a23dfa9fa
8 changed files with 61 additions and 359 deletions

View File

@ -1,7 +1,7 @@
libraw1394
libraw1394-8
libraw1394-11
obsoletes "libraw1394-<targettype> <= <version>"
provides "libraw1394-<targettype> = <version>"
libraw1394-devel
requires -libraw1394-<targettype>
requires "libraw1394-8-<targettype> = <version>"
requires "libraw1394-11-<targettype> = <version>"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:81b94fe0f74da0076a8ff84bd0d159f423feb347c84e8ea3ad0e90c6b796f7e5
size 266519

3
libraw1394-2.0.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d108796775cac9e943d89754c3818c4b91089ff1d7156551d282601b13f5e3f
size 320413

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Thu Sep 30 10:42:46 UTC 2010 - davejplater@gmail.com
- Update to version 2.0.5
- See https://ieee1394.wiki.kernel.org/index.php/Release_Notes_-_Libraries
for changes since 1.3.0
- Upstream urls changed as http://www.linux1394.org/ is up for sale
and no longer in use.
- Removed patch libraw1394.eventloop-return.patch, already integrated.
- Removed mpg1394grab.patch and mpg1394grab-beautify.patch as the upstream
maintainer says that streaming video support is now integrated.
-------------------------------------------------------------------
Sat Apr 24 09:09:20 UTC 2010 - coolo@novell.com

View File

@ -1,33 +0,0 @@
r177 | ddennedy | 2008-03-27 21:25:23 +0100 (Thu, 27 Mar 2008) | 4 lines
Changed paths:
M /trunk/src/eventloop.c
eventloop.c: apply patch from Jonas Bonn to retry read when failed with EINTR.
This can occur when libraw1394 caller receives a signal while in this read and
the caller is not using a signal handler set with signal().
---
src/eventloop.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- a/src/eventloop.c
+++ b/src/eventloop.c
@@ -21,6 +21,7 @@
#include <config.h>
#include <unistd.h>
#include <byteswap.h>
+#include <errno.h>
#include "raw1394.h"
#include "kernel-raw1394.h"
@@ -32,8 +33,8 @@ int raw1394_loop_iterate(struct raw1394_
struct raw1394_request req;
int retval = 0, channel;
- if (read(handle->fd, &req, sizeof(req)) < 0) {
- return -1;
+ while (read(handle->fd, &req, sizeof(req)) < 0) {
+ if (errno != EINTR) return -1;
}
switch (req.type) {

View File

@ -1,81 +0,0 @@
---
tools/mpg1394grab.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
Index: libraw1394-1.2.1/tools/mpg1394grab.c
===================================================================
--- libraw1394-1.2.1.orig/tools/mpg1394grab.c
+++ libraw1394-1.2.1/tools/mpg1394grab.c
@@ -29,10 +29,11 @@
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <netinet/in.h>
/* linux1394 includes */
-#include <libraw1394/raw1394.h>
+#include "../src/raw1394.h"
/* constant for the iso receive channel */
#define RX_CHANNEL 63
@@ -40,10 +41,10 @@
#define RAW_BUF_SIZE 4096
/* global vars */
-unsigned char g_rx_packet[RAW_BUF_SIZE]; /* the received packet data */
-int g_rx_length; /* the size of a received packet */
-int g_alldone = 0; /* flag to indicate when to quit */
-int g_rx_channel = RX_CHANNEL;
+static unsigned char g_rx_packet[RAW_BUF_SIZE]; /* the received packet data */
+static int g_rx_length; /* the size of a received packet */
+static int g_alldone; /* flag to indicate when to quit */
+static int g_rx_channel = RX_CHANNEL;
/*************************************************************************/
@@ -53,7 +54,7 @@ int g_rx_channel = RX_CHANNEL;
/* a callback function executed by libraw1394 when a packet is received. */
/* iso packet header is included */
/* libraw1394 has its own handle type */
-int raw_iso_handler(raw1394handle_t handle, int channel, size_t length,
+static int raw_iso_handler(raw1394handle_t handle, int channel, size_t length,
quadlet_t *data)
{
/* is this a packet for me? */
@@ -67,7 +68,7 @@ int raw_iso_handler(raw1394handle_t hand
/* libraw1394 executes this when there is a bus reset. We'll just keep it
simple and quit */
-int reset_handler(raw1394handle_t handle, unsigned int generation)
+static int reset_handler(raw1394handle_t handle, unsigned int generation)
{
raw1394_update_generation(handle, generation);
g_alldone = 1;
@@ -75,7 +76,7 @@ int reset_handler(raw1394handle_t handle
}
-raw1394handle_t open_raw1394(void)
+static raw1394handle_t open_raw1394(void)
{
int numcards;
struct raw1394_portinfo pinf[16];
@@ -121,7 +122,7 @@ raw1394handle_t open_raw1394(void)
}
-void close_raw1394(raw1394handle_t handle)
+static void close_raw1394(raw1394handle_t handle)
{
raw1394_stop_iso_rcv(handle, g_rx_channel);
raw1394_destroy_handle(handle);
@@ -130,7 +131,7 @@ void close_raw1394(raw1394handle_t handl
/* this is a common unix function that gets called when a process
receives a signal (e.g. ctrl-c) */
-void signal_handler(int sig)
+static void signal_handler(int sig)
{
/* replace this signal handler with the default (which aborts) */
signal(SIGINT, SIG_DFL);

View File

@ -1,215 +0,0 @@
http://www.kinodv.org/filemanager/download/5/mpg1394grab.c
---
tools/Makefile.am | 2
tools/mpg1394grab.c | 193 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 194 insertions(+), 1 deletion(-)
Index: libraw1394-1.2.1/tools/mpg1394grab.c
===================================================================
--- /dev/null
+++ libraw1394-1.2.1/tools/mpg1394grab.c
@@ -0,0 +1,193 @@
+/* mpg1394grab.c v0.1.0 -- a program to capture IEC 61883-4 streams
+ *
+ * Copyright (C) 2003 Dan Dennedy <dan@dennedy.org>
+ *
+ * Build:
+ * % gcc -lraw1394 -o mpg1394grab mpg1394grab.c -D_FILE_OFFSET_BITS=64
+ *
+ *
+ * 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 of the License, 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 Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+
+/* standard system includes */
+#include <sys/poll.h>
+#include <sys/types.h>
+#include <signal.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <netinet/in.h>
+
+/* linux1394 includes */
+#include <libraw1394/raw1394.h>
+
+/* constant for the iso receive channel */
+#define RX_CHANNEL 63
+/* constant for the iso receive packet buffer size */
+#define RAW_BUF_SIZE 4096
+
+/* global vars */
+unsigned char g_rx_packet[RAW_BUF_SIZE]; /* the received packet data */
+int g_rx_length; /* the size of a received packet */
+int g_alldone = 0; /* flag to indicate when to quit */
+int g_rx_channel = RX_CHANNEL;
+
+
+/*************************************************************************/
+/* raw1394 section - reception */
+/*************************************************************************/
+
+/* a callback function executed by libraw1394 when a packet is received. */
+/* iso packet header is included */
+/* libraw1394 has its own handle type */
+int raw_iso_handler(raw1394handle_t handle, int channel, size_t length,
+ quadlet_t *data)
+{
+ /* is this a packet for me? */
+ if (length < RAW_BUF_SIZE && channel == g_rx_channel) {
+ //fprintf(stderr, "received a packet with length %03d (%08x) (%08x)\n", length-4, *(unsigned long*)(data+3),*(unsigned long*)(data+4));
+ g_rx_length = length;
+ memcpy(g_rx_packet, data, length);
+ }
+ return 0;
+}
+
+/* libraw1394 executes this when there is a bus reset. We'll just keep it
+ simple and quit */
+int reset_handler(raw1394handle_t handle, unsigned int generation)
+{
+ raw1394_update_generation(handle, generation);
+ g_alldone = 1;
+ return 0;
+}
+
+
+raw1394handle_t open_raw1394(void)
+{
+ int numcards;
+ struct raw1394_portinfo pinf[16];
+ raw1394handle_t handle;
+ struct pollfd raw1394_poll;
+
+ if (!(handle = raw1394_new_handle())) {
+ perror("raw1394 - couldn't get handle");
+ fprintf(stderr, "This error usually means that the ieee1394 driver is not loaded or that /dev/raw1394 does not exist.\n");
+ exit( -1);
+ }
+
+ if ((numcards = raw1394_get_port_info(handle, pinf, 16)) < 0) {
+ perror("raw1394 - couldn't get card info");
+ exit( -1);
+ }
+
+ /* port 0 is the first host adapter card */
+ if (raw1394_set_port(handle, 0) < 0) {
+ perror("raw1394 - couldn't set port");
+ exit( -1);
+ }
+
+ /* tell libraw1394 the names of our callback functions */
+ raw1394_set_iso_handler(handle, g_rx_channel, raw_iso_handler);
+ raw1394_set_bus_reset_handler(handle, reset_handler);
+
+ /* poll for leftover events */
+ raw1394_poll.fd = raw1394_get_fd(handle);
+ raw1394_poll.events = POLLIN;
+ while(1) {
+ if ( poll( &raw1394_poll, 1, 10) < 1 )
+ break;
+ raw1394_loop_iterate(handle);
+ }
+
+ /* Starting iso receive */
+ if (raw1394_start_iso_rcv(handle, g_rx_channel) < 0) {
+ perror("raw1394 - couldn't start iso receive");
+ exit( -1);
+ }
+ return handle;
+}
+
+
+void close_raw1394(raw1394handle_t handle)
+{
+ raw1394_stop_iso_rcv(handle, g_rx_channel);
+ raw1394_destroy_handle(handle);
+}
+
+
+/* this is a common unix function that gets called when a process
+ receives a signal (e.g. ctrl-c) */
+void signal_handler(int sig)
+{
+ /* replace this signal handler with the default (which aborts) */
+ signal(SIGINT, SIG_DFL);
+
+ /* setting these variables will let us fall out of the main loop */
+ g_alldone = 1;
+}
+
+
+int main(int argc, const char** argv)
+{
+ raw1394handle_t handle;
+ unsigned short dbs_fn_qpc_sph;
+ unsigned char fmt;
+ struct pollfd raw1394_poll;
+
+ signal(SIGINT, signal_handler);
+
+ handle = open_raw1394();
+
+ /* initialize the poll control structure */
+ raw1394_poll.fd = raw1394_get_fd(handle);
+ raw1394_poll.events = POLLIN;
+
+ /* the main loop */
+ while (g_alldone == 0) {
+
+ /* check for pending events before using raw1394 */
+ if ( poll( &raw1394_poll, 1, 10) > 0 ) {
+ if (raw1394_poll.revents & POLLIN) {
+
+ /* wait for a packet to arrive */
+ /* printf("waiting to receive...\n"); */
+ raw1394_loop_iterate(handle);
+
+ /* check various fields of CIP header for valid packet */
+ dbs_fn_qpc_sph = (htonl(*(unsigned long*)(g_rx_packet+4)) >> 10) & 0x3fff;
+ fmt = (htonl(*(unsigned long*)(g_rx_packet+8)) >> 24) & 0x3f;
+ if (g_rx_length > 188 && fmt == 0x20 && dbs_fn_qpc_sph == 0x01b1) {
+
+ unsigned char *data = g_rx_packet + 16; /* skip over iso header, CIP header, and SPH */
+ size_t len = g_rx_length;
+
+ /* write each TSP in the iso packet minus SPH */
+ for ( ; len > 188; len -= 192, data += 192 )
+ if ( fwrite( data, 188, 1, stdout ) != 1 ) {
+ g_alldone = 1;
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ close_raw1394(handle);
+ fprintf(stderr, "quitting\n");
+ return EXIT_SUCCESS;
+}
+
+
Index: libraw1394-1.2.1/tools/Makefile.am
===================================================================
--- libraw1394-1.2.1.orig/tools/Makefile.am
+++ libraw1394-1.2.1/tools/Makefile.am
@@ -1,5 +1,5 @@
MAINTAINERCLEANFILES = Makefile.in
# testlibraw
-bin_PROGRAMS = testlibraw sendiso dumpiso
+bin_PROGRAMS = testlibraw sendiso dumpiso mpg1394grab
LDADD = ../src/libraw1394.la

View File

@ -1,5 +1,5 @@
#
# spec file for package libraw1394 (Version 1.3.0)
# spec file for package libraw1394 (Version 2.0.5)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -19,31 +19,54 @@
Name: libraw1394
Version: 1.3.0
Release: 44
Version: 2.0.5
Release: 1
License: LGPLv2.1+
Summary: A Firewire Interface
Url: http://www.linux1394.org/
Url: http://www.dennedy.org/libraw1394/
Group: System/Kernel
# bug437293
%ifarch ppc64
Obsoletes: libraw1394-64bit
%endif
#
BuildRequires: pkg-config
BuildRequires: openjade-devel pkg-config
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://www.linux1394.org/files/libraw1394/%{name}-%{version}.tar.bz2
Source0: http://www.kernel.org/pub/linux/libs/ieee1394/%{name}-%{version}.tar.bz2
Source1: baselibs.conf
Patch: libraw1394.no-isodump.patch
Patch1: libraw1394.eventloop-return.patch
Patch10: libraw1394.mpg1394grab.patch
Patch11: libraw1394.mpg1394grab-beautify.patch
%description
A library for the Linux IEEE-1394 subsystem, which provides direct
access to the connected 1394 (Firewire) bus.
The Linux kernel's IEEE 1394 subsystem provides access to the raw 1394
bus through the raw1394 module. This includes the standard 1394
transactions (read, write, lock) on the active side, isochronous
stream receiving and sending and dumps of data written to the
FCP_COMMAND and FCP_RESPONSE registers. raw1394 uses a character
device to communicate to user programs using a special protocol.
%package 8
libraw1394 was created with the intent to hide that protocol from
applications so that
- the protocol has to be implemented correctly only once.
- all work can be done using easy to understand functions instead of
handling a complicated command structure.
- only libraw1394 has to be changed when raw1394's interface changes.
Maintainer: Dan Dennedy <dan@dennedy.org>
Original author: Andreas Bombe <andreas.bombe@munich.netsurf.de>
or <bombe@informatik.tu-muenchen.de>
Contributors:
Manfred Weihs <weihs@ict.tuwien.ac.at>
Christian Toegel <christian.toegel@gmx.at>
Dan Maas <dmaas@maasdigital.com>
Ben Collins <bcollins@debian.org>
Pieter Palmers <pieterp@joow.be>
%package 11
License: LGPLv2.1+
Summary: A Firewire Interface
Group: System/Kernel
@ -53,7 +76,7 @@ Obsoletes: libraw1394-64bit
%endif
#
%description 8
%description 11
A library for the Linux IEEE-1394 subsystem, which provides direct
access to the connected 1394 (Firewire) bus.
@ -62,7 +85,7 @@ License: LGPLv2.1+
Summary: Development and Include Files for libraw1394
Summary(pt_BR): Arquivos de desenvolvimento e cabeçalhos para o libraw1394
Group: Development/Libraries/C and C++
Requires: %{name}-8 == %{version} glibc-devel
Requires: %{name}-11 == %{version} glibc-devel
# bug437293
%ifarch ppc64
Obsoletes: libraw1394-devel-64bit
@ -81,12 +104,9 @@ This archive contains the header files for libraw1394 development.
%prep
%setup -q
%patch -p1
%patch1 -p1
%patch10 -p1
%patch11 -p1
%build
autoreconf --force --install
#autoreconf --force --install
export CFLAGS="%optflags"
%configure --disable-static --with-pic
%{__make} %{?jobs:-j%jobs} all
@ -99,9 +119,9 @@ rm -f %{buildroot}%{_libdir}/libraw1394.la
%clean
rm -rf $RPM_BUILD_ROOT
%post 8 -p /sbin/ldconfig
%post 11 -p /sbin/ldconfig
%postun 8 -p /sbin/ldconfig
%postun 11 -p /sbin/ldconfig
%files
%defattr(-,root,root)
@ -109,12 +129,11 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/testlibraw
%{_bindir}/dumpiso
%{_bindir}/sendiso
%{_bindir}/mpg1394grab
%{_mandir}/man*/*
%files 8
%files 11
%defattr(-,root,root)
%{_libdir}/libraw1394.so.8*
%{_libdir}/libraw1394.so.11*
%files devel
%defattr(-,root,root)