rpms/rt2870-kmod/F-10 rt2870-additional-devices-support.patch, 1.1, 1.2 rt2870-kmod.spec, 1.20, 1.21
by Orcan Ogetbil
Author: oget
Update of /cvs/free/rpms/rt2870-kmod/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv2981
Modified Files:
rt2870-additional-devices-support.patch rt2870-kmod.spec
Log Message:
* Sun Jan 25 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-6
- Add Belkin F5D8053 support
rt2870-additional-devices-support.patch:
Index: rt2870-additional-devices-support.patch
===================================================================
RCS file: /cvs/free/rpms/rt2870-kmod/F-10/rt2870-additional-devices-support.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- rt2870-additional-devices-support.patch 15 Jan 2009 15:38:55 -0000 1.1
+++ rt2870-additional-devices-support.patch 25 Jan 2009 17:28:42 -0000 1.2
@@ -1,12 +1,13 @@
--- old/2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h 2008-09-19 01:23:42.000000000 -0400
-+++ new/2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h 2009-01-15 09:17:50.000000000 -0500
-@@ -143,6 +143,9 @@
++++ new/2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h 2009-01-24 23:38:50.000000000 -0500
+@@ -143,6 +143,10 @@
{USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \
{USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \
{USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \
+ {USB_DEVICE(0x1737,0x0070)}, /* Linksys WUSB100 */ \
+ {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */ \
+ {USB_DEVICE(0x0411,0x00e8)}, /* Buffalo WLI-UC-G300N*/ \
++ {USB_DEVICE(0x050d,0x815c)}, /* Belkin F5D8053 */ \
{ }/* Terminating entry */ \
}
Index: rt2870-kmod.spec
===================================================================
RCS file: /cvs/free/rpms/rt2870-kmod/F-10/rt2870-kmod.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- rt2870-kmod.spec 24 Jan 2009 07:59:09 -0000 1.20
+++ rt2870-kmod.spec 25 Jan 2009 17:28:42 -0000 1.21
@@ -7,7 +7,7 @@
Name: rt2870-kmod
Version: 1.4.0.0
-Release: 5%{?dist}.1
+Release: 6%{?dist}
Summary: Kernel module for wireless devices with Ralink's rt2870 chipsets
Group: System Environment/Kernel
@@ -78,6 +78,9 @@
rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 25 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-6
+- Add Belkin F5D8053 support
+
* Sat Jan 24 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.4.0.0-5.1
- rebuild for latest Fedora kernel;
@@ -96,7 +99,7 @@
* Sat Dec 06 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.4.0.0-2.1
- rebuild for latest Fedora kernel;
-* Thu Dec 04 2008 Orcan Ogetbil <orcanbahri [AT] yahoo [DOT] com> - 1.4.0.0-2
+* Thu Dec 04 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-2
- removed the iwe-stream patch since it is not needed for 2.6.27+ kernels
* Tue Dec 02 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.4.0.0-1.10
@@ -130,21 +133,21 @@
- adjust make call in build to build properly is running kernel and target
kernel are different
-* Sat Oct 04 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.4.0.0-1
+* Sat Oct 04 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-1
- Rebuild for 1.4.0.0
* Sat Oct 04 2008 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 1.3.1.0-4
- Various small adjustments
- exclude ppc due to bugs (see comments)
-* Sat Sep 26 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.3.1.0-3
+* Sat Sep 26 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.3.1.0-3
- Re-wrote the description, removed supported hardware info.
- Renamed SourceDir to SourceName
-* Thu Sep 22 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.3.1.0-2
+* Thu Sep 22 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.3.1.0-2
- Some cleanup in the SPEC file to match standards
- Separated the patches
- License is GPLv2+
-* Thu Sep 20 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.3.1.0-1
+* Thu Sep 20 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.3.1.0-1
- Initial build. The patch fixes compilation problems for kernels >= 2.6.25 . Also adds support for Linksys WUSB100.
15 years, 10 months
rpms/rt2870-kmod/devel rt2870-kmod.spec,1.25,1.26
by Orcan Ogetbil
Author: oget
Update of /cvs/free/rpms/rt2870-kmod/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv2467
Modified Files:
rt2870-kmod.spec
Log Message:
Enable %define buildforkernels newest
Index: rt2870-kmod.spec
===================================================================
RCS file: /cvs/free/rpms/rt2870-kmod/devel/rt2870-kmod.spec,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- rt2870-kmod.spec 25 Jan 2009 17:15:23 -0000 1.25
+++ rt2870-kmod.spec 25 Jan 2009 17:26:38 -0000 1.26
@@ -3,7 +3,7 @@
# "buildforkernels newest" macro for just that build; immediately after
# queuing that build enable the macro again for subsequent builds; that way
# a new akmod package will only get build when a new one is actually needed
-#%%define buildforkernels newest
+%define buildforkernels newest
Name: rt2870-kmod
Version: 1.4.0.0
15 years, 10 months
rpms/rt2870-kmod/devel rt2870-additional-devices-support.patch, 1.1, 1.2 rt2870-kmod.spec, 1.24, 1.25
by Orcan Ogetbil
Author: oget
Update of /cvs/free/rpms/rt2870-kmod/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv1271
Modified Files:
rt2870-additional-devices-support.patch rt2870-kmod.spec
Log Message:
* Sun Jan 25 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-6
- Add Belkin F5D8053 support
rt2870-additional-devices-support.patch:
Index: rt2870-additional-devices-support.patch
===================================================================
RCS file: /cvs/free/rpms/rt2870-kmod/devel/rt2870-additional-devices-support.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- rt2870-additional-devices-support.patch 15 Jan 2009 15:32:48 -0000 1.1
+++ rt2870-additional-devices-support.patch 25 Jan 2009 17:15:23 -0000 1.2
@@ -1,12 +1,13 @@
--- old/2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h 2008-09-19 01:23:42.000000000 -0400
-+++ new/2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h 2009-01-15 09:17:50.000000000 -0500
-@@ -143,6 +143,9 @@
++++ new/2008_0925_RT2870_Linux_STA_v1.4.0.0/include/rt2870.h 2009-01-24 23:38:50.000000000 -0500
+@@ -143,6 +143,10 @@
{USB_DEVICE(0x0789,0x0162)}, /* Logitec */ \
{USB_DEVICE(0x0789,0x0163)}, /* Logitec */ \
{USB_DEVICE(0x0789,0x0164)}, /* Logitec */ \
+ {USB_DEVICE(0x1737,0x0070)}, /* Linksys WUSB100 */ \
+ {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */ \
+ {USB_DEVICE(0x0411,0x00e8)}, /* Buffalo WLI-UC-G300N*/ \
++ {USB_DEVICE(0x050d,0x815c)}, /* Belkin F5D8053 */ \
{ }/* Terminating entry */ \
}
Index: rt2870-kmod.spec
===================================================================
RCS file: /cvs/free/rpms/rt2870-kmod/devel/rt2870-kmod.spec,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- rt2870-kmod.spec 25 Jan 2009 11:15:44 -0000 1.24
+++ rt2870-kmod.spec 25 Jan 2009 17:15:23 -0000 1.25
@@ -7,7 +7,7 @@
Name: rt2870-kmod
Version: 1.4.0.0
-Release: 5%{?dist}.2
+Release: 6%{?dist}
Summary: Kernel module for wireless devices with Ralink's rt2870 chipsets
Group: System Environment/Kernel
@@ -78,6 +78,9 @@
rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 25 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-6
+- Add Belkin F5D8053 support
+
* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.4.0.0-5.2
- rebuild for latest Fedora kernel;
@@ -108,7 +111,7 @@
* Sun Dec 14 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.4.0.0-2.1
- rebuild for latest Fedora kernel;
-* Thu Dec 04 2008 Orcan Ogetbil <orcanbahri [AT] yahoo [DOT] com> - 1.4.0.0-2
+* Thu Dec 04 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-2
- removed the iwe-stream patch since it is not needed for 2.6.27+ kernels
* Sat Nov 22 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.4.0.0-1.9
@@ -139,21 +142,21 @@
- adjust make call in build to build properly is running kernel and target
kernel are different
-* Sat Oct 04 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.4.0.0-1
+* Sat Oct 04 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.4.0.0-1
- Rebuild for 1.4.0.0
* Sat Oct 04 2008 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 1.3.1.0-4
- Various small adjustments
- exclude ppc due to bugs (see comments)
-* Sat Sep 26 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.3.1.0-3
+* Sat Sep 26 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.3.1.0-3
- Re-wrote the description, removed supported hardware info.
- Renamed SourceDir to SourceName
-* Thu Sep 22 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.3.1.0-2
+* Thu Sep 22 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.3.1.0-2
- Some cleanup in the SPEC file to match standards
- Separated the patches
- License is GPLv2+
-* Thu Sep 20 2008 Orcan Ogetbil <orcanbahri[AT]yahoo[DOT]com> - 1.3.1.0-1
+* Thu Sep 20 2008 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 1.3.1.0-1
- Initial build. The patch fixes compilation problems for kernels >= 2.6.25 . Also adds support for Linksys WUSB100.
15 years, 10 months
rpms/devede/F-9 .cvsignore, 1.5, 1.6 devede.spec, 1.6, 1.7 sources, 1.5, 1.6
by Andrea Musuruane
Author: musuruan
Update of /cvs/free/rpms/devede/F-9
In directory se02.es.rpmfusion.net:/tmp/cvs-serv24392
Modified Files:
.cvsignore devede.spec sources
Log Message:
* Sun Jan 25 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.12-1
- Updated to version 3.12
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/devede/F-9/.cvsignore,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- .cvsignore 31 Aug 2008 08:24:11 -0000 1.5
+++ .cvsignore 25 Jan 2009 15:16:17 -0000 1.6
@@ -1 +1 @@
-devede-3.11b.tar.bz2
+devede-3.12.tar.bz2
Index: devede.spec
===================================================================
RCS file: /cvs/free/rpms/devede/F-9/devede.spec,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- devede.spec 17 Jan 2009 14:11:48 -0000 1.6
+++ devede.spec 25 Jan 2009 15:16:17 -0000 1.7
@@ -1,6 +1,6 @@
Name: devede
-Version: 3.11b
-Release: 4%{?dist}
+Version: 3.12
+Release: 1%{?dist}
Summary: DeVeDe is a program to create video DVDs and CDs (VCD, sVCD or CVD)
Group: Applications/Multimedia
@@ -35,7 +35,7 @@
%prep
-%setup -q -n %{name}-3.11
+%setup -q -n %{name}-%{version}
# Fix devede module directory
sed -i 's!/usr/lib/!%{_datadir}/!' devede.py
@@ -100,6 +100,9 @@
%changelog
+* Sun Jan 25 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.12-1
+- Updated to version 3.12
+
* Wed Jan 14 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.11b-4
- Used DejaVuSans.ttf instead of devedesans.ttf
- Changed libdir to %%{_datadir} like other python packages
Index: sources
===================================================================
RCS file: /cvs/free/rpms/devede/F-9/sources,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sources 31 Aug 2008 08:24:11 -0000 1.5
+++ sources 25 Jan 2009 15:16:17 -0000 1.6
@@ -1 +1 @@
-a6610336b09c69d032c5b7a6b9653e59 devede-3.11b.tar.bz2
+914445d00153a064c8b2355206f93432 devede-3.12.tar.bz2
15 years, 10 months
rpms/devede/F-10 .cvsignore, 1.5, 1.6 devede.spec, 1.6, 1.7 sources, 1.5, 1.6
by Andrea Musuruane
Author: musuruan
Update of /cvs/free/rpms/devede/F-10
In directory se02.es.rpmfusion.net:/tmp/cvs-serv24246
Modified Files:
.cvsignore devede.spec sources
Log Message:
* Sun Jan 25 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.12-1
- Updated to version 3.12
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/devede/F-10/.cvsignore,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- .cvsignore 31 Aug 2008 08:20:57 -0000 1.5
+++ .cvsignore 25 Jan 2009 15:14:30 -0000 1.6
@@ -1 +1 @@
-devede-3.11b.tar.bz2
+devede-3.12.tar.bz2
Index: devede.spec
===================================================================
RCS file: /cvs/free/rpms/devede/F-10/devede.spec,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- devede.spec 17 Jan 2009 14:11:19 -0000 1.6
+++ devede.spec 25 Jan 2009 15:14:30 -0000 1.7
@@ -1,6 +1,6 @@
Name: devede
-Version: 3.11b
-Release: 4%{?dist}
+Version: 3.12
+Release: 1%{?dist}
Summary: DeVeDe is a program to create video DVDs and CDs (VCD, sVCD or CVD)
Group: Applications/Multimedia
@@ -35,7 +35,7 @@
%prep
-%setup -q -n %{name}-3.11
+%setup -q -n %{name}-%{version}
# Fix devede module directory
sed -i 's!/usr/lib/!%{_datadir}/!' devede.py
@@ -100,6 +100,9 @@
%changelog
+* Sun Jan 25 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.12-1
+- Updated to version 3.12
+
* Wed Jan 14 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.11b-4
- Used DejaVuSans.ttf instead of devedesans.ttf
- Changed libdir to %%{_datadir} like other python packages
Index: sources
===================================================================
RCS file: /cvs/free/rpms/devede/F-10/sources,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sources 31 Aug 2008 08:20:57 -0000 1.5
+++ sources 25 Jan 2009 15:14:30 -0000 1.6
@@ -1 +1 @@
-a6610336b09c69d032c5b7a6b9653e59 devede-3.11b.tar.bz2
+914445d00153a064c8b2355206f93432 devede-3.12.tar.bz2
15 years, 10 months
rpms/devede/devel .cvsignore, 1.5, 1.6 devede.spec, 1.7, 1.8 sources, 1.5, 1.6
by Andrea Musuruane
Author: musuruan
Update of /cvs/free/rpms/devede/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv24095
Modified Files:
.cvsignore devede.spec sources
Log Message:
* Sun Jan 25 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.12-1
- Updated to version 3.12
Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/devede/devel/.cvsignore,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- .cvsignore 31 Aug 2008 08:20:57 -0000 1.5
+++ .cvsignore 25 Jan 2009 15:13:32 -0000 1.6
@@ -1 +1 @@
-devede-3.11b.tar.bz2
+devede-3.12.tar.bz2
Index: devede.spec
===================================================================
RCS file: /cvs/free/rpms/devede/devel/devede.spec,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- devede.spec 17 Jan 2009 14:10:00 -0000 1.7
+++ devede.spec 25 Jan 2009 15:13:32 -0000 1.8
@@ -1,6 +1,6 @@
Name: devede
-Version: 3.11b
-Release: 4%{?dist}
+Version: 3.12
+Release: 1%{?dist}
Summary: DeVeDe is a program to create video DVDs and CDs (VCD, sVCD or CVD)
Group: Applications/Multimedia
@@ -35,7 +35,7 @@
%prep
-%setup -q -n %{name}-3.11
+%setup -q -n %{name}-%{version}
# Fix devede module directory
sed -i 's!/usr/lib/!%{_datadir}/!' devede.py
@@ -100,6 +100,9 @@
%changelog
+* Sun Jan 25 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.12-1
+- Updated to version 3.12
+
* Wed Jan 14 2009 Andrea Musuruane <musuruan(a)gmail.com> 3.11b-4
- Used DejaVuSans.ttf instead of devedesans.ttf
- Changed libdir to %%{_datadir} like other python packages
Index: sources
===================================================================
RCS file: /cvs/free/rpms/devede/devel/sources,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sources 31 Aug 2008 08:20:57 -0000 1.5
+++ sources 25 Jan 2009 15:13:32 -0000 1.6
@@ -1 +1 @@
-a6610336b09c69d032c5b7a6b9653e59 devede-3.11b.tar.bz2
+914445d00153a064c8b2355206f93432 devede-3.12.tar.bz2
15 years, 10 months
rpms/gstreamer-plugins-ugly/devel gst-plugins-ugly-0.10.10-asfdemux-inval-rep-lengt-is-error.patch, NONE, 1.1 gst-plugins-ugly-0.10.10-git-asfdemux.patch, NONE, 1.1 gst-plugins-ugly-0.10.10-asf-push-seek.patch, 1.1, 1.2 gstreamer-plugins-ugly.spec, 1.11, 1.12
by jwrdegoede
Author: jwrdegoede
Update of /cvs/free/rpms/gstreamer-plugins-ugly/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv15298
Modified Files:
gst-plugins-ugly-0.10.10-asf-push-seek.patch
gstreamer-plugins-ugly.spec
Added Files:
gst-plugins-ugly-0.10.10-asfdemux-inval-rep-lengt-is-error.patch
gst-plugins-ugly-0.10.10-git-asfdemux.patch
Log Message:
* Sun Jan 25 2009 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-5
- Rebase asfdemux patches too latest upstream git
gst-plugins-ugly-0.10.10-asfdemux-inval-rep-lengt-is-error.patch:
--- NEW FILE gst-plugins-ugly-0.10.10-asfdemux-inval-rep-lengt-is-error.patch ---
diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c~ gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c
--- gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c~ 2009-01-25 11:23:20.000000000 +0100
+++ gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c 2009-01-25 11:23:20.000000000 +0100
@@ -317,6 +317,9 @@ gst_asf_demux_parse_payload (GstASFDemux
GST_TIME_ARGS (payload.duration));
} else if (payload.rep_data_len != 0) {
GST_WARNING_OBJECT (demux, "invalid replicated data length, very bad");
+ *p_data += payload_len;
+ *p_size -= payload_len;
+ return FALSE;
}
GST_LOG_OBJECT (demux, "media object offset : %u", payload.mo_offset);
gst-plugins-ugly-0.10.10-git-asfdemux.patch:
--- NEW FILE gst-plugins-ugly-0.10.10-git-asfdemux.patch ---
diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c.orig gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c
--- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c.orig 2009-01-25 10:25:24.000000000 +0100
+++ gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c 2009-01-25 10:25:40.000000000 +0100
@@ -98,8 +98,6 @@ gst_asf_demux_process_queued_extended_st
static void gst_asf_demux_activate_ext_props_streams (GstASFDemux * demux);
static gboolean gst_asf_demux_pull_headers (GstASFDemux * demux);
static void gst_asf_demux_pull_indices (GstASFDemux * demux);
-static GstFlowReturn gst_asf_demux_handle_data (GstASFDemux * demux,
- guint8 ** p_data, guint64 * p_size);
static void gst_asf_demux_reset_stream_state_after_discont (GstASFDemux * asf);
static gboolean
gst_asf_demux_parse_data_object_start (GstASFDemux * demux, guint8 * data);
@@ -724,92 +722,6 @@ gst_asf_demux_aggregate_flow_return (Gst
return GST_FLOW_NOT_LINKED;
}
-static GstFlowReturn
-gst_asf_demux_chain (GstPad * pad, GstBuffer * buf)
-{
- GstFlowReturn ret = GST_FLOW_OK;
- GstASFDemux *demux;
-
- demux = GST_ASF_DEMUX (GST_PAD_PARENT (pad));
-
- GST_LOG_OBJECT (demux, "buffer: size=%u, offset=%" G_GINT64_FORMAT,
- GST_BUFFER_SIZE (buf), GST_BUFFER_OFFSET (buf));
-
- if (GST_BUFFER_IS_DISCONT (buf))
- gst_asf_demux_reset_stream_state_after_discont (demux);
-
- gst_adapter_push (demux->adapter, buf);
-
- switch (demux->state) {
- case GST_ASF_DEMUX_STATE_HEADER:{
- ret = gst_asf_demux_chain_headers (demux);
- if (demux->state != GST_ASF_DEMUX_STATE_DATA)
- break;
- /* otherwise fall through */
- }
- case GST_ASF_DEMUX_STATE_DATA:{
-
- if (demux->need_newsegment) {
- GST_DEBUG_OBJECT (demux, "sending new-segment event from %"
- GST_SEGMENT_FORMAT, &demux->segment);
-
- /* FIXME: check last parameter, streams may have non-zero start */
- gst_asf_demux_send_event_unlocked (demux,
- gst_event_new_new_segment (FALSE, demux->segment.rate,
- GST_FORMAT_TIME, demux->segment.start, demux->segment.stop,
- demux->segment.start));
-
- demux->need_newsegment = FALSE;
- demux->segment_running = TRUE;
- }
-
- while (gst_adapter_available (demux->adapter) >= demux->packet_size) {
- guint64 data_size;
- guint8 *data;
-
- data_size = demux->packet_size;
- data = (guint8 *) gst_adapter_peek (demux->adapter, data_size);
- g_assert (data != NULL);
-
- ret = gst_asf_demux_handle_data (demux, &data, &data_size);
-
- /* FIXME: check if this can happen, shouldn't really, should it? */
- if (ret == ASF_FLOW_NEED_MORE_DATA) {
- GST_DEBUG_OBJECT (demux, "not flushing, flow was need-more-data");
-
- /* FIXME: we always know the packet size, this code is weird */
- /* if we know the packet size and still do a
- * short read, then something is fishy */
-/*
- GST_ELEMENT_ERROR (demux, STREAM, DEMUX,
- ("Error parsing packet"),
- ("Unexpected short read in packet at offset %" G_GINT64_FORMAT,
- gst_asf_demux_get_current_offset (demux, NULL)));
-
- ret = GST_FLOW_ERROR;
-*/
- gst_adapter_flush (demux->adapter, demux->packet_size);
- ret = GST_FLOW_OK;
- break; /* bail out */
- } else {
- GST_DEBUG ("flushing packet (%u bytes)", demux->packet_size);
- gst_adapter_flush (demux->adapter, demux->packet_size);
- }
- }
- break;
- }
- default:
- g_assert_not_reached ();
- }
-
- /* FIXME: eradicate ASF_FLOW_NEED_MORE_DATA */
-
- if (ret != GST_FLOW_OK)
- GST_DEBUG_OBJECT (demux, "flow: %s", gst_flow_get_name (ret));
-
- return ret;
-}
-
static gboolean
gst_asf_demux_pull_data (GstASFDemux * demux, guint64 offset, guint size,
GstBuffer ** p_buf, GstFlowReturn * p_flow)
@@ -1393,6 +1305,64 @@ parse_error:
}
}
+static GstFlowReturn
+gst_asf_demux_chain (GstPad * pad, GstBuffer * buf)
+{
+ GstFlowReturn ret = GST_FLOW_OK;
+ GstASFDemux *demux;
+
+ demux = GST_ASF_DEMUX (GST_PAD_PARENT (pad));
+
+ GST_LOG_OBJECT (demux, "buffer: size=%u, offset=%" G_GINT64_FORMAT,
+ GST_BUFFER_SIZE (buf), GST_BUFFER_OFFSET (buf));
+
+ if (GST_BUFFER_IS_DISCONT (buf))
+ gst_asf_demux_reset_stream_state_after_discont (demux);
+
+ gst_adapter_push (demux->adapter, buf);
+
+ switch (demux->state) {
+ case GST_ASF_DEMUX_STATE_HEADER:{
+ ret = gst_asf_demux_chain_headers (demux);
+ if (demux->state != GST_ASF_DEMUX_STATE_DATA)
+ break;
+ /* otherwise fall through */
+ }
+ case GST_ASF_DEMUX_STATE_DATA:
+ {
+ guint64 data_size;
+
+ data_size = demux->packet_size;
+
+ while (gst_adapter_available (demux->adapter) >= data_size) {
+ GstBuffer *buf;
+
+ buf = gst_adapter_take_buffer (demux->adapter, data_size);
+
+ /* FIXME: maybe we should just skip broken packets and error out only
+ * after a few broken packets in a row? */
+ if (!gst_asf_demux_parse_packet (demux, buf)) {
+ GST_WARNING_OBJECT (demux, "Parse error");
+ }
+
+ gst_buffer_unref (buf);
+
+ ret = gst_asf_demux_push_complete_payloads (demux, FALSE);
+
+ ++demux->packet;
+ }
+ break;
+ }
+ default:
+ g_assert_not_reached ();
+ }
+
+ if (ret != GST_FLOW_OK)
+ GST_DEBUG_OBJECT (demux, "flow: %s", gst_flow_get_name (ret));
+
+ return ret;
+}
+
static inline gboolean
gst_asf_demux_skip_bytes (guint num_bytes, guint8 ** p_data, guint64 * p_size)
{
@@ -1561,18 +1531,6 @@ gst_asf_demux_get_guid (ASFGuid * guid,
}
static gboolean
-gst_asf_demux_get_obj_data_correction (asf_obj_data_correction * object,
- guint8 ** p_data, guint64 * p_size)
-{
- if (*p_size < (1 + 1))
- return FALSE;
-
- object->type = gst_asf_demux_get_uint8 (p_data, p_size);
- object->cycle = gst_asf_demux_get_uint8 (p_data, p_size);
- return TRUE;
-}
-
-static gboolean
gst_asf_demux_get_stream_audio (asf_stream_audio * audio, guint8 ** p_data,
guint64 * p_size)
{
@@ -2279,12 +2237,15 @@ gst_asf_demux_process_metadata (GstASFDe
if (data_type != ASF_DEMUX_DATA_TYPE_DWORD) {
gst_asf_demux_skip_bytes (data_len, &data, &size);
+ g_free (name_utf8);
continue;
}
/* read DWORD */
- if (size < 4)
+ if (size < 4) {
+ g_free (name_utf8);
goto not_enough_data;
+ }
ival = gst_asf_demux_get_uint32 (&data, &size);
@@ -3241,605 +3202,6 @@ gst_asf_demux_send_event_unlocked (GstAS
return ret;
}
-static GstFlowReturn
-gst_asf_demux_push_buffer (GstASFDemux * demux, AsfStream * stream,
- GstBuffer * buf)
-{
- buf = gst_buffer_make_metadata_writable (buf);
-
- /* need to send tags? */
- if (stream->pending_tags) {
- GST_LOG_OBJECT (stream->pad, "tags %" GST_PTR_FORMAT, stream->pending_tags);
- gst_element_found_tags_for_pad (GST_ELEMENT (demux), stream->pad,
- stream->pending_tags);
- stream->pending_tags = NULL;
- }
-
- /* don't set the same time stamp on multiple consecutive outgoing
- * video buffers, set it on the first one and set NONE on the others,
- * it's the decoder's job to fill the missing bits properly */
- if (stream->is_video && GST_BUFFER_TIMESTAMP_IS_VALID (buf) &&
- GST_BUFFER_TIMESTAMP (buf) == stream->last_buffer_timestamp) {
- GST_BUFFER_TIMESTAMP (buf) = GST_CLOCK_TIME_NONE;
- }
-
- /* make sure segment.last_stop is continually increasing */
- if (GST_BUFFER_TIMESTAMP_IS_VALID (buf) &&
- demux->segment.last_stop < (gint64) GST_BUFFER_TIMESTAMP (buf)) {
- gst_segment_set_last_stop (&demux->segment, GST_FORMAT_TIME,
- GST_BUFFER_TIMESTAMP (buf));
- }
-
- if (GST_BUFFER_TIMESTAMP_IS_VALID (buf))
- stream->last_buffer_timestamp = GST_BUFFER_TIMESTAMP (buf);
-
- gst_buffer_set_caps (buf, stream->caps);
-
- GST_LOG_OBJECT (stream->pad, "pushing buffer, ts=%" GST_TIME_FORMAT " %s",
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),
- (stream->discont) ? "discont" : "");
-
- if (stream->discont) {
- GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
- stream->discont = FALSE;
- }
-
- stream->last_flow = gst_pad_push (stream->pad, buf);
-
- return stream->last_flow;
-}
-
-static GstFlowReturn
-gst_asf_demux_process_chunk (GstASFDemux * demux,
- asf_packet_info * packet_info, asf_segment_info * segment_info,
- guint8 ** p_data, guint64 * p_size)
-{
- GstFlowReturn ret = GST_FLOW_OK;
- AsfStream *stream;
- GstBuffer *buffer;
-
- stream = gst_asf_demux_get_stream (demux, segment_info->stream_number);
- if (stream == NULL) {
- GST_WARNING ("invalid stream number %d", segment_info->stream_number);
- if (!gst_asf_demux_skip_bytes (segment_info->chunk_size, p_data, p_size))
- ret = ASF_FLOW_NEED_MORE_DATA;
- goto done;
- }
-
- GST_DEBUG ("Processing %s chunk of size %u (frag_offset=%d)",
- GST_PAD_NAME (stream->pad), segment_info->chunk_size,
- stream->frag_offset);
-
- if (segment_info->frag_offset == 0) {
- /* new packet */
- stream->sequence = segment_info->sequence;
- if (!GST_CLOCK_TIME_IS_VALID (stream->first_pts))
- stream->first_pts = segment_info->frag_timestamp - demux->preroll;
- demux->pts =
- segment_info->frag_timestamp - demux->preroll - stream->first_pts;
-
- /*
- if (stream->is_video) {
- GST_DEBUG ("%s: demux->pts=%lld (frag_timestamp=%ld, preroll=%lld)",
- GST_PAD_NAME (stream->pad), demux->pts,
- segment_info->frag_timestamp, demux->preroll);
- }
- */
-
- if (!gst_asf_demux_get_buffer (&buffer, segment_info->chunk_size,
- p_data, p_size)) {
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- GST_DEBUG ("BUFFER: Copied stream to buffer %p", buffer);
- stream->payload = buffer;
- } else {
- GST_DEBUG ("segment_info->sequence=%d, stream->sequence=%d,"
- " segment_info->frag_offset=%d, stream->frag_offset=%d",
- segment_info->sequence, stream->sequence, segment_info->frag_offset,
- stream->frag_offset);
-
- if (segment_info->sequence == stream->sequence &&
- segment_info->frag_offset == stream->frag_offset) {
- GstBuffer *new_buffer;
-
- /* continuing packet */
- GST_INFO ("continuation packet");
-
- if (!gst_asf_demux_get_buffer (&buffer, segment_info->chunk_size,
- p_data, p_size)) {
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- GST_DEBUG ("copied stream to buffer %p", buffer);
-
- new_buffer = gst_buffer_merge (stream->payload, buffer);
- GST_DEBUG_OBJECT (demux,
- "BUFFER: Merged new_buffer (%p - %d) from stream->payload (%p - %d)"
- " and buffer (%p - %d)", new_buffer,
- GST_MINI_OBJECT_REFCOUNT_VALUE (new_buffer), stream->payload,
- GST_MINI_OBJECT_REFCOUNT_VALUE (stream->payload), buffer,
- GST_MINI_OBJECT_REFCOUNT_VALUE (buffer));
- gst_buffer_unref (stream->payload);
- gst_buffer_unref (buffer);
- stream->payload = new_buffer;
- } else {
- /* cannot continue current packet: free it */
- if (stream->frag_offset != 0) {
- /* cannot create new packet */
- GST_DEBUG ("BUFFER: Freeing stream->payload (%p)", stream->payload);
- gst_buffer_unref (stream->payload);
-#if 0
- /* FIXME: is this right/needed? we already do that below, no? */
- packet_info->size_left -= segment_info->chunk_size;
-#endif
- stream->frag_offset = 0;
- }
- demux->pts =
- segment_info->frag_timestamp - demux->preroll - stream->first_pts;
-
- /*
- if (stream->is_video) {
- GST_DEBUG ("%s: demux->pts=%lld (frag_timestamp=%ld, preroll=%lld)",
- GST_PAD_NAME (stream->pad), demux->pts,
- segment_info->frag_timestamp, demux->preroll);
- }
- */
-
- goto done;
-#if 0
- /* FIXME: where did this come from / fit in ? */
- return TRUE;
- else {
- /* create new packet */
- stream->sequence = segment_info->sequence;
- }
-#endif
- }
- }
-
- stream->frag_offset += segment_info->chunk_size;
-
- GST_DEBUG ("frag_offset = %d segment_size = %d ", stream->frag_offset,
- segment_info->segment_size);
-
- if (stream->frag_offset < segment_info->segment_size) {
- /* We don't have the whole packet yet */
- } else {
- /* We have the whole packet now so we should push the packet to
- the src pad now. First though we should check if we need to do
- descrambling */
- if (demux->span > 1) {
- gst_asf_demux_descramble_buffer (demux, stream, &stream->payload);
- }
-
- if (stream->is_video) {
- GST_DEBUG ("%s: demux->pts=%lld=%" GST_TIME_FORMAT
- ", stream->last_pts=%lld=%" GST_TIME_FORMAT,
- GST_PAD_NAME (stream->pad), demux->pts,
- GST_TIME_ARGS (GST_MSECOND * demux->pts), stream->last_pts,
- GST_TIME_ARGS (GST_MSECOND * stream->last_pts));
- }
-
- /* FIXME: last_pts is not a GstClockTime and not in nanoseconds, so
- * this is not really 100% right ... */
- if (demux->pts >= stream->last_pts ||
- !GST_CLOCK_TIME_IS_VALID (stream->last_pts)) {
- stream->last_pts = demux->pts;
- }
-
- GST_BUFFER_TIMESTAMP (stream->payload) = GST_MSECOND * stream->last_pts;
-
- GST_DEBUG ("sending stream %d of size %d, ts=%" GST_TIME_FORMAT,
- stream->id, segment_info->chunk_size,
- GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (stream->payload)));
-
- if (!stream->fps_known) {
- if (!stream->cache) {
- stream->cache = stream->payload;
- } else {
- gdouble fps;
- gint64 diff;
- gint num, denom;
-
- /* why is all this needed anyway? (tpm) */
- diff = GST_BUFFER_TIMESTAMP (stream->payload) -
- GST_BUFFER_TIMESTAMP (stream->cache);
-
- fps = (gdouble) GST_SECOND / diff;
-
- /* artificial cap */
- if (fps >= 50.0) {
- num = 50;
- denom = 1;
- } else if (fps <= 5.0) {
- num = 5;
- denom = 1;
- } else {
- /* crack alert */
- num = (gint) GST_SECOND;
- while (diff > G_MAXINT) {
- num = num >> 1;
- diff = diff >> 1;
- }
- denom = (gint) diff;
- }
- stream->fps_known = TRUE;
- stream->caps = gst_caps_make_writable (stream->caps);
- gst_caps_set_simple (stream->caps,
- "framerate", GST_TYPE_FRACTION, num, denom, NULL);
- GST_DEBUG ("set up stream with fps %d/%d", num, denom);
- gst_pad_use_fixed_caps (stream->pad);
- gst_pad_set_caps (stream->pad, stream->caps);
-
- ret = gst_asf_demux_push_buffer (demux, stream, stream->cache);
- stream->cache = NULL;
-
- ret = gst_asf_demux_push_buffer (demux, stream, stream->payload);
- stream->payload = NULL;
- }
- } else {
- ret = gst_asf_demux_push_buffer (demux, stream, stream->payload);
- stream->payload = NULL;
- }
-
- stream->frag_offset = 0;
- }
-
-done:
-
- packet_info->size_left -= segment_info->chunk_size;
-
- return ret;
-}
-
-static GstFlowReturn
-gst_asf_demux_process_segment (GstASFDemux * demux,
- asf_packet_info * packet_info, guint8 ** p_data, guint64 * p_size)
-{
- GstFlowReturn ret = GST_FLOW_OK;
- asf_segment_info segment_info;
- gboolean has_key_frame;
- guint64 start_size;
- guint32 replic_size;
- guint32 time_start;
- guint32 frag_size;
- guint32 rsize;
- guint8 time_delta;
- guint8 byte;
-
- start_size = *p_size;
-
- if (*p_size < 1)
- return ASF_FLOW_NEED_MORE_DATA;
-
- byte = gst_asf_demux_get_uint8 (p_data, p_size);
- segment_info.stream_number = byte & 0x7f;
- has_key_frame = ((byte & 0x80) == 0x80); /* FIXME: use this somewhere? */
-
- GST_INFO ("processing segment for stream %u%s", segment_info.stream_number,
- (has_key_frame) ? " (has keyframe)" : "");
-
- /* FIXME: check (doesn't work) */
-#if 0
- {
- AsfStream *stream;
-
- stream = gst_asf_demux_get_stream (demux, segment_info.stream_number);
- if (stream && stream->last_pts == GST_CLOCK_TIME_NONE &&
- stream->is_video && !has_key_frame) {
- g_print ("skipping segment, waiting for a key unit\n");
- if (!gst_asf_demux_skip_bytes (segment_info.segment_size - 1, p_data,
- p_size))
- return ASF_FLOW_NEED_MORE_DATA;
- packet_info->size_left -= segment_info.segment_size;
- return GST_FLOW_OK;
- }
- }
-#endif
-
- {
- const guint lengths[4] = { 0, 1, 2, 4 };
- guint needed;
-
- needed = lengths[packet_info->seqtype]
- + lengths[packet_info->fragoffsettype]
- + lengths[packet_info->replicsizetype];
-
- if (*p_size < needed)
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- segment_info.sequence =
- gst_asf_demux_get_var_length (packet_info->seqtype, p_data, p_size);
- segment_info.frag_offset =
- gst_asf_demux_get_var_length (packet_info->fragoffsettype, p_data,
- p_size);
- replic_size =
- gst_asf_demux_get_var_length (packet_info->replicsizetype, p_data,
- p_size);
-
- GST_DEBUG ("sequence=%u, frag_offset=%u, replic_size=%u",
- segment_info.sequence, segment_info.frag_offset, replic_size);
-
- if (replic_size > 1) {
- segment_info.compressed = FALSE;
-
- /* It's uncompressed with replic data */
- if (*p_size < (4 + 4))
- goto short_repdata;
-
- segment_info.segment_size = gst_asf_demux_get_uint32 (p_data, p_size);
- segment_info.frag_timestamp = gst_asf_demux_get_uint32 (p_data, p_size);
-
- GST_LOG ("frag_timestamp: %" GST_TIME_FORMAT,
- GST_TIME_ARGS (segment_info.frag_timestamp * GST_MSECOND));
-
- if (replic_size > 8) {
- if (!gst_asf_demux_skip_bytes ((replic_size - 8), p_data, p_size))
- return ASF_FLOW_NEED_MORE_DATA;
- }
- } else if (replic_size == 1) {
- /* It's compressed */
- segment_info.compressed = TRUE;
- if (*p_size < 1)
- return ASF_FLOW_NEED_MORE_DATA;
- time_delta = gst_asf_demux_get_uint8 (p_data, p_size);
- GST_DEBUG ("time_delta = %u", time_delta);
-
- time_start = segment_info.frag_offset;
- segment_info.frag_offset = 0;
- segment_info.frag_timestamp = time_start; /* was: demux->timestamp */
- } else {
- segment_info.compressed = FALSE;
-
- time_start = segment_info.frag_offset;
- segment_info.frag_offset = 0;
- segment_info.frag_timestamp = time_start; /* was: demux->timestamp */
- }
-
- GST_DEBUG ("multiple = %u, compressed = %u",
- packet_info->multiple, segment_info.compressed);
-
- if (packet_info->multiple) {
- const guint lengths[4] = { 0, 1, 2, 4 };
-
- if (*p_size < lengths[packet_info->segsizetype])
- return ASF_FLOW_NEED_MORE_DATA;
-
- frag_size = gst_asf_demux_get_var_length (packet_info->segsizetype,
- p_data, p_size);
- } else {
- frag_size = packet_info->size_left - (start_size - *p_size);
- }
-
- rsize = start_size - *p_size;
-
- packet_info->size_left -= rsize;
-
- GST_DEBUG ("size left = %u, frag size = %u, rsize = %u",
- packet_info->size_left, frag_size, rsize);
-
- if (segment_info.compressed) {
- while (frag_size > 0) {
- if (*p_size < 1)
- return ASF_FLOW_NEED_MORE_DATA;
- byte = gst_asf_demux_get_uint8 (p_data, p_size);
- packet_info->size_left--;
- segment_info.chunk_size = byte;
- segment_info.segment_size = segment_info.chunk_size;
-
- if (segment_info.chunk_size > packet_info->size_left) {
- return ASF_FLOW_NEED_MORE_DATA;
- /* or is this an error?
- * GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
- * ("Payload chunk overruns packet size."));
- * return GST_FLOW_ERROR; */
- }
-
- ret = gst_asf_demux_process_chunk (demux, packet_info, &segment_info,
- p_data, p_size);
-
- if (ret != GST_FLOW_OK)
- break;
-
- if (segment_info.chunk_size < frag_size)
- frag_size -= segment_info.chunk_size + 1;
- else {
-/*
- GST_ELEMENT_ERROR (demux, STREAM, DEMUX,
- ("Invalid data in stream"),
- ("Invalid fragment size indicator in segment"));
- ret = GST_FLOW_ERROR;
-*/
- return ASF_FLOW_NEED_MORE_DATA;
- }
- }
- } else {
- segment_info.chunk_size = frag_size;
- ret = gst_asf_demux_process_chunk (demux, packet_info, &segment_info,
- p_data, p_size);
- }
-
- return ret;
-
-/* ERRORS */
-short_repdata:
- {
- if (replic_size < 8) {
- GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
- ("payload has replicated data, but size is less than 8"));
- } else {
- GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
- ("payload has %u bytes of replicated data, but size is only %u",
- replic_size, (guint) * p_size));
- }
- return GST_FLOW_ERROR;
- }
-}
-
-static GstFlowReturn
-gst_asf_demux_handle_data (GstASFDemux * demux, guint8 ** p_data,
- guint64 * p_size)
-{
- asf_packet_info packet_info;
- gboolean correction;
- guint64 start_size;
- guint32 sequence;
- guint32 packet_length;
- guint32 rsize;
- guint16 duration;
- guint8 num_segments;
- guint8 segment;
- guint8 flags;
- guint8 property;
-
- start_size = *p_size;
-
- GST_LOG ("processing packet %" G_GUINT64_FORMAT "/%" G_GUINT64_FORMAT,
- demux->packet + 1, demux->num_packets);
-
- if (demux->num_packets > 0 && demux->packet >= demux->num_packets) {
- GST_LOG_OBJECT (demux, "reached EOS");
- return GST_FLOW_UNEXPECTED;
- }
-
- ++demux->packet;
-
- if (*p_size < 1) {
- GST_WARNING ("unexpected end of data"); /* unexpected, why? */
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- correction = ((gst_asf_demux_get_uint8 (p_data, p_size) & 0x80) == 0x80);
-
- /* Uses error correction? */
- if (correction) {
- asf_obj_data_correction corr_obj;
-
- GST_DEBUG ("data has error correction");
- if (!gst_asf_demux_get_obj_data_correction (&corr_obj, p_data, p_size)) {
- GST_WARNING ("unexpected end of data");
- return ASF_FLOW_NEED_MORE_DATA;
- }
- }
-
- /* Read the packet flags */
- if (*p_size < (1 + 1)) {
- GST_WARNING ("unexpected end of data");
- return ASF_FLOW_NEED_MORE_DATA;
- }
- flags = gst_asf_demux_get_uint8 (p_data, p_size);
- property = gst_asf_demux_get_uint8 (p_data, p_size);
-
- packet_info.multiple = ((flags & 0x01) == 0x01);
-
- {
- const guint lengths[4] = { 0, 1, 2, 4 };
- guint needed;
-
- needed = lengths[(flags >> 5) & 0x03]
- + lengths[(flags >> 3) & 0x03]
- + lengths[(flags >> 1) & 0x03];
-
- if (*p_size < needed)
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- packet_length =
- gst_asf_demux_get_var_length ((flags >> 5) & 0x03, p_data, p_size);
-
- sequence = gst_asf_demux_get_var_length ((flags >> 1) & 0x03, p_data, p_size);
-
- packet_info.padsize =
- gst_asf_demux_get_var_length ((flags >> 3) & 0x03, p_data, p_size);
-
- if (packet_length == 0)
- packet_length = demux->packet_size;
-
- GST_DEBUG ("multiple = %u, sequence = %u, padsize = %u, "
- "packet length = %u", packet_info.multiple, sequence,
- packet_info.padsize, packet_length);
-
- /* Read the property flags */
- packet_info.replicsizetype = property & 0x03;
- packet_info.fragoffsettype = (property >> 2) & 0x03;
- packet_info.seqtype = (property >> 4) & 0x03;
-
- if (*p_size < (4 + 2)) {
- GST_WARNING ("unexpected end of data");
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- /* FIXME: isn't this the send time, ie. not the presentation time? (tpm) */
- demux->timestamp = gst_asf_demux_get_uint32 (p_data, p_size);
- duration = gst_asf_demux_get_uint16 (p_data, p_size);
-
- GST_DEBUG ("timestamp = %" GST_TIME_FORMAT ", duration = %" GST_TIME_FORMAT,
- GST_TIME_ARGS ((gint64) demux->timestamp * GST_MSECOND),
- GST_TIME_ARGS ((gint64) duration * GST_MSECOND));
-
- /* Are there multiple payloads? */
- if (packet_info.multiple) {
- guint8 multi_flags;
-
- if (*p_size < 1)
- return ASF_FLOW_NEED_MORE_DATA;
-
- multi_flags = gst_asf_demux_get_uint8 (p_data, p_size);
- packet_info.segsizetype = (multi_flags >> 6) & 0x03;
- num_segments = multi_flags & 0x3f;
- } else {
- packet_info.segsizetype = 2;
- num_segments = 1;
- }
-
- rsize = start_size - *p_size;
-
- packet_info.size_left = packet_length - packet_info.padsize - rsize;
-
- GST_DEBUG ("rsize: %u, size left: %u", rsize, packet_info.size_left);
-
- for (segment = 0; segment < num_segments; ++segment) {
- GstFlowReturn ret;
-
- ret = gst_asf_demux_process_segment (demux, &packet_info, p_data, p_size);
- if (ret != GST_FLOW_OK) {
- GST_DEBUG ("process_segment %u returned %s", segment,
- gst_asf_get_flow_name (ret));
- }
- }
-
- /* Skip the padding */
- if (packet_info.padsize > 0) {
- if (*p_size < packet_info.padsize) {
- GST_WARNING ("unexpected end of data");
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- if (!gst_asf_demux_skip_bytes (packet_info.padsize, p_data, p_size))
- return ASF_FLOW_NEED_MORE_DATA;
- }
-
- GST_DEBUG ("remaining size left: %u", packet_info.size_left);
-
- /* FIXME: this doesn't really make sense, does it? if we don't have enough
- * bytes left to skip the stuff at the end and we've already sent out
- * buffers, just returning NEED_MORE_DATA isn't really right. Should we
- * just throw an error in that case (can it happen with a non-broken
- * stream?) */
- if (packet_info.size_left > 0) {
- if (!gst_asf_demux_skip_bytes (packet_info.size_left, p_data, p_size)) {
- GST_WARNING
- ("unexpected end of data, *p_size=%lld,packet_info.size_left=%u",
- *p_size, packet_info.size_left);
- return ASF_FLOW_NEED_MORE_DATA;
- }
- }
-
- return gst_asf_demux_aggregate_flow_return (demux);
-}
-
static const GstQueryType *
gst_asf_demux_get_src_query_types (GstPad * pad)
{
gst-plugins-ugly-0.10.10-asf-push-seek.patch:
Index: gst-plugins-ugly-0.10.10-asf-push-seek.patch
===================================================================
RCS file: /cvs/free/rpms/gstreamer-plugins-ugly/devel/gst-plugins-ugly-0.10.10-asf-push-seek.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gst-plugins-ugly-0.10.10-asf-push-seek.patch 23 Jan 2009 14:43:31 -0000 1.1
+++ gst-plugins-ugly-0.10.10-asf-push-seek.patch 25 Jan 2009 12:24:30 -0000 1.2
@@ -1,6 +1,31 @@
-diff -ur gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c gst-plugins-ugly-0.10.10.new/gst/asfdemux/gstasfdemux.c
---- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c 2008-11-12 23:48:28.000000000 +0100
-+++ gst-plugins-ugly-0.10.10.new/gst/asfdemux/gstasfdemux.c 2009-01-23 13:56:18.000000000 +0100
+diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c.push-seek gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c
+--- gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c.push-seek 2009-01-25 11:24:31.000000000 +0100
++++ gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c 2009-01-25 12:51:48.000000000 +0100
+@@ -127,6 +127,11 @@ gst_asf_payload_queue_for_stream (GstASF
+ GST_DEBUG_OBJECT (demux, "first ts: %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (payload->ts));
+ demux->first_ts = payload->ts;
++ if (demux->push_mode) {
++ gst_segment_set_seek (&demux->segment, demux->segment.rate,
++ GST_FORMAT_TIME, demux->segment.flags, GST_SEEK_TYPE_SET,
++ demux->first_ts, GST_SEEK_TYPE_NONE, 0, NULL);
++ }
+ }
+
+ /* better drop a few frames at the beginning than send bogus timestamps */
+@@ -140,7 +145,8 @@ gst_asf_payload_queue_for_stream (GstASF
+ }
+
+ /* make timestamps start from 0 */
+- payload->ts -= demux->first_ts;
++ if (!demux->push_mode)
++ payload->ts -= demux->first_ts;
+
+ /* remove any incomplete payloads that will never be completed */
+ while (stream->payloads->len > 0) {
+diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c.push-seek gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c
+--- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c.push-seek 2009-01-25 11:24:56.000000000 +0100
++++ gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c 2009-01-25 12:54:31.000000000 +0100
@@ -23,9 +23,6 @@
* - _loop():
* stop if at end of segment if != end of file, ie. demux->segment.stop
@@ -11,7 +36,7 @@
* - fix packet parsing:
* there's something wrong with timestamps for packets with keyframes,
* and durations too.
-@@ -266,6 +263,7 @@
+@@ -264,6 +261,7 @@ gst_asf_demux_activate_push (GstPad * si
demux = GST_ASF_DEMUX (GST_OBJECT_PARENT (sinkpad));
@@ -19,7 +44,7 @@
demux->state = GST_ASF_DEMUX_STATE_HEADER;
demux->streaming = TRUE;
-@@ -278,6 +276,7 @@
+@@ -276,6 +274,7 @@ gst_asf_demux_activate_pull (GstPad * pa
GstASFDemux *demux;
demux = GST_ASF_DEMUX (GST_OBJECT_PARENT (pad));
@@ -27,7 +52,7 @@
if (active) {
demux->state = GST_ASF_DEMUX_STATE_HEADER;
-@@ -315,8 +314,16 @@
+@@ -313,8 +312,17 @@ gst_asf_demux_sink_event (GstPad * pad,
}
GST_OBJECT_LOCK (demux);
@@ -36,6 +61,7 @@
+ demux->packet_size;
+ else
+ demux->packet = 0;
++ demux->first_ts = GST_CLOCK_TIME_NONE;
+ demux->need_newsegment = TRUE;
gst_asf_demux_reset_stream_state_after_discont (demux);
GST_OBJECT_UNLOCK (demux);
@@ -44,7 +70,7 @@
break;
}
case GST_EVENT_EOS:{
-@@ -333,6 +340,14 @@
+@@ -331,6 +339,14 @@ gst_asf_demux_sink_event (GstPad * pad,
break;
}
@@ -59,15 +85,7 @@
default:
ret = gst_pad_event_default (pad, event);
break;
-@@ -342,6 +357,7 @@
- return ret;
- }
-
-+/* Only used in pull mode */
- static gboolean
- gst_asf_demux_seek_index_lookup (GstASFDemux * demux, guint * packet,
- GstClockTime seek_time, GstClockTime * p_idx_time)
-@@ -452,6 +468,11 @@
+@@ -450,6 +466,11 @@ gst_asf_demux_handle_seek_event (GstASFD
accurate = ((flags & GST_SEEK_FLAG_ACCURATE) == GST_SEEK_FLAG_ACCURATE);
keyunit_sync = ((flags & GST_SEEK_FLAG_KEY_UNIT) == GST_SEEK_FLAG_KEY_UNIT);
@@ -79,172 +97,10 @@
/* unlock the streaming thread */
if (flush) {
gst_pad_push_event (demux->sinkpad, gst_event_new_flush_start ());
-@@ -630,6 +651,7 @@
- return TRUE;
- }
-
-+/* Only used in push mode */
- static GstFlowReturn
- gst_asf_demux_chain_headers (GstASFDemux * demux)
- {
-@@ -724,6 +746,7 @@
- return GST_FLOW_NOT_LINKED;
- }
-
-+/* Only used in push mode */
- static GstFlowReturn
- gst_asf_demux_chain (GstPad * pad, GstBuffer * buf)
- {
-@@ -748,21 +771,6 @@
- /* otherwise fall through */
- }
- case GST_ASF_DEMUX_STATE_DATA:{
--
-- if (demux->need_newsegment) {
-- GST_DEBUG_OBJECT (demux, "sending new-segment event from %"
-- GST_SEGMENT_FORMAT, &demux->segment);
--
-- /* FIXME: check last parameter, streams may have non-zero start */
-- gst_asf_demux_send_event_unlocked (demux,
-- gst_event_new_new_segment (FALSE, demux->segment.rate,
-- GST_FORMAT_TIME, demux->segment.start, demux->segment.stop,
-- demux->segment.start));
--
-- demux->need_newsegment = FALSE;
-- demux->segment_running = TRUE;
-- }
--
- while (gst_adapter_available (demux->adapter) >= demux->packet_size) {
- guint64 data_size;
- guint8 *data;
-@@ -810,6 +818,7 @@
- return ret;
- }
-
-+/* Only used in pull mode */
- static gboolean
- gst_asf_demux_pull_data (GstASFDemux * demux, guint64 offset, guint size,
- GstBuffer ** p_buf, GstFlowReturn * p_flow)
-@@ -846,6 +855,7 @@
- return TRUE;
- }
-
-+/* Only used in pull mode */
- static void
- gst_asf_demux_pull_indices (GstASFDemux * demux)
- {
-@@ -944,6 +954,7 @@
- return TRUE;
- }
-
-+/* Only used in pull mode */
- static gboolean
- gst_asf_demux_pull_headers (GstASFDemux * demux)
- {
-@@ -1179,6 +1190,7 @@
- return best_stream;
- }
-
-+/* Only used in pull mode */
- static GstFlowReturn
- gst_asf_demux_push_complete_payloads (GstASFDemux * demux, gboolean force)
- {
-@@ -1262,6 +1274,7 @@
- return gst_asf_demux_aggregate_flow_return (demux);
- }
-
-+/* Only used in pull mode */
- static void
- gst_asf_demux_loop (GstASFDemux * demux)
- {
-@@ -3241,6 +3254,7 @@
- return ret;
- }
-
-+/* Only used in push mode */
- static GstFlowReturn
- gst_asf_demux_push_buffer (GstASFDemux * demux, AsfStream * stream,
- GstBuffer * buf)
-@@ -3255,23 +3269,46 @@
- stream->pending_tags = NULL;
- }
-
-+ /* Note we always get called with a buffer with a valid timestamp, so we
-+ do not need to check the timestamp */
-+
-+ if (demux->need_newsegment) {
-+ gst_segment_set_seek (&demux->segment, demux->segment.rate,
-+ GST_FORMAT_TIME, demux->segment.flags, GST_SEEK_TYPE_SET,
-+ GST_BUFFER_TIMESTAMP (buf), GST_SEEK_TYPE_NONE, 0, NULL);
-+
-+ if (demux->segment.stop == GST_CLOCK_TIME_NONE &&
-+ demux->segment.duration > 0) {
-+ demux->segment.stop = demux->segment.duration;
-+ }
-+
-+ GST_DEBUG_OBJECT (demux, "sending new-segment event from %"
-+ GST_SEGMENT_FORMAT, &demux->segment);
-+
-+ gst_asf_demux_send_event_unlocked (demux,
-+ gst_event_new_new_segment (FALSE, demux->segment.rate,
-+ GST_FORMAT_TIME, demux->segment.start,
-+ demux->segment.stop, demux->segment.start));
-+
-+ demux->need_newsegment = FALSE;
-+ demux->segment_running = TRUE;
-+ }
-+
- /* don't set the same time stamp on multiple consecutive outgoing
- * video buffers, set it on the first one and set NONE on the others,
- * it's the decoder's job to fill the missing bits properly */
-- if (stream->is_video && GST_BUFFER_TIMESTAMP_IS_VALID (buf) &&
-+ if (stream->is_video &&
- GST_BUFFER_TIMESTAMP (buf) == stream->last_buffer_timestamp) {
- GST_BUFFER_TIMESTAMP (buf) = GST_CLOCK_TIME_NONE;
- }
-
- /* make sure segment.last_stop is continually increasing */
-- if (GST_BUFFER_TIMESTAMP_IS_VALID (buf) &&
-- demux->segment.last_stop < (gint64) GST_BUFFER_TIMESTAMP (buf)) {
-+ if (demux->segment.last_stop < (gint64) GST_BUFFER_TIMESTAMP (buf)) {
- gst_segment_set_last_stop (&demux->segment, GST_FORMAT_TIME,
- GST_BUFFER_TIMESTAMP (buf));
- }
-
-- if (GST_BUFFER_TIMESTAMP_IS_VALID (buf))
-- stream->last_buffer_timestamp = GST_BUFFER_TIMESTAMP (buf);
-+ stream->last_buffer_timestamp = GST_BUFFER_TIMESTAMP (buf);
-
- gst_buffer_set_caps (buf, stream->caps);
-
-@@ -3289,6 +3326,7 @@
- return stream->last_flow;
- }
-
-+/* Only used in push mode */
- static GstFlowReturn
- gst_asf_demux_process_chunk (GstASFDemux * demux,
- asf_packet_info * packet_info, asf_segment_info * segment_info,
-@@ -3493,6 +3531,7 @@
- return ret;
- }
-
-+/* Only used in push mode */
- static GstFlowReturn
- gst_asf_demux_process_segment (GstASFDemux * demux,
- asf_packet_info * packet_info, guint8 ** p_data, guint64 * p_size)
-@@ -3678,6 +3717,7 @@
- }
- }
-
-+/* Only used in push mode */
- static GstFlowReturn
- gst_asf_demux_handle_data (GstASFDemux * demux, guint8 ** p_data,
- guint64 * p_size)
-diff -ur gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h gst-plugins-ugly-0.10.10.new/gst/asfdemux/gstasfdemux.h
---- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h 2008-01-08 17:31:29.000000000 +0100
-+++ gst-plugins-ugly-0.10.10.new/gst/asfdemux/gstasfdemux.h 2009-01-23 13:34:10.000000000 +0100
-@@ -171,6 +171,7 @@
+diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h.push-seek gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h
+--- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h.push-seek 2009-01-25 12:52:19.000000000 +0100
++++ gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h 2009-01-25 12:52:55.000000000 +0100
+@@ -171,6 +171,7 @@ struct _GstASFDemux {
gboolean need_newsegment; /* do we need to send a new-segment event? */
gboolean segment_running; /* if we've started the current segment */
gboolean streaming; /* TRUE if we are operating chain-based */
Index: gstreamer-plugins-ugly.spec
===================================================================
RCS file: /cvs/free/rpms/gstreamer-plugins-ugly/devel/gstreamer-plugins-ugly.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- gstreamer-plugins-ugly.spec 23 Jan 2009 14:43:31 -0000 1.11
+++ gstreamer-plugins-ugly.spec 25 Jan 2009 12:24:30 -0000 1.12
@@ -11,14 +11,16 @@
Summary: GStreamer streaming media framework "ugly" plug-ins
Name: gstreamer-plugins-ugly
Version: 0.10.10
-Release: 4%{?dist}
+Release: 5%{?dist}
License: LGPLv2+
Group: Applications/Multimedia
URL: http://gstreamer.freedesktop.org/
Source: http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-%{...
Patch0: gst-plugins-ugly-0.10.10-mpeg2dec.patch
Patch1: gst-plugins-ugly-0.10.10-mad.patch
-Patch2: gst-plugins-ugly-0.10.10-asf-push-seek.patch
+Patch2: gst-plugins-ugly-0.10.10-git-asfdemux.patch
+Patch3: gst-plugins-ugly-0.10.10-asfdemux-inval-rep-lengt-is-error.patch
+Patch4: gst-plugins-ugly-0.10.10-asf-push-seek.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{gstreamer} >= %{gst_minver}
BuildRequires: %{gstreamer}-devel >= %{gst_minver}
@@ -62,6 +64,8 @@
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
@@ -111,6 +115,9 @@
%changelog
+* Sun Jan 25 2009 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-5
+- Rebase asfdemux patches too latest upstream git
+
* Fri Jan 23 2009 Hans de Goede <j.w.r.degoede(a)hhs.nl> 0.10.10-4
- Patch asfdemux plugin to properly handle seeking with push based sources
15 years, 10 months
rpms/wl-kmod/devel wl-kmod.spec,1.19,1.20
by Thorsten Leemhuis
Author: thl
Update of /cvs/nonfree/rpms/wl-kmod/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv11958
Modified Files:
wl-kmod.spec
Log Message:
* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 5.10.27.12-1.3
- rebuild for latest Fedora kernel;
Index: wl-kmod.spec
===================================================================
RCS file: /cvs/nonfree/rpms/wl-kmod/devel/wl-kmod.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- wl-kmod.spec 18 Jan 2009 17:24:59 -0000 1.19
+++ wl-kmod.spec 25 Jan 2009 11:24:21 -0000 1.20
@@ -7,7 +7,7 @@
Name: wl-kmod
Version: 5.10.27.12
-Release: 1%{?dist}.2
+Release: 1%{?dist}.3
Summary: Kernel module for broadcom wireless devices
Group: System Environment/Kernel
License: Redistributable, no modification permitted
@@ -80,6 +80,9 @@
rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 5.10.27.12-1.3
+- rebuild for latest Fedora kernel;
+
* Sun Jan 18 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 5.10.27.12-1.2
- rebuild for latest Fedora kernel;
15 years, 10 months
rpms/slmodem-kmod/devel slmodem-kmod.spec,1.17,1.18
by Thorsten Leemhuis
Author: thl
Update of /cvs/nonfree/rpms/slmodem-kmod/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv11836
Modified Files:
slmodem-kmod.spec
Log Message:
* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 2.9.11-26.17
- rebuild for latest Fedora kernel;
Index: slmodem-kmod.spec
===================================================================
RCS file: /cvs/nonfree/rpms/slmodem-kmod/devel/slmodem-kmod.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- slmodem-kmod.spec 18 Jan 2009 17:24:06 -0000 1.17
+++ slmodem-kmod.spec 25 Jan 2009 11:24:08 -0000 1.18
@@ -12,7 +12,7 @@
Name: slmodem-kmod
Version: 2.9.11
-Release: 26%{?dist}.16
+Release: 26%{?dist}.17
Summary: Proprietary SmartLink softmodem kernel drivers
Group: System Environment/Kernel
@@ -102,6 +102,9 @@
%changelog
+* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 2.9.11-26.17
+- rebuild for latest Fedora kernel;
+
* Sun Jan 18 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 2.9.11-26.16
- rebuild for latest Fedora kernel;
15 years, 10 months
rpms/nvidia-kmod/devel nvidia-kmod.spec,1.24,1.25
by Thorsten Leemhuis
Author: thl
Update of /cvs/nonfree/rpms/nvidia-kmod/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv11715
Modified Files:
nvidia-kmod.spec
Log Message:
* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 180.22-1.3
- rebuild for latest Fedora kernel;
Index: nvidia-kmod.spec
===================================================================
RCS file: /cvs/nonfree/rpms/nvidia-kmod/devel/nvidia-kmod.spec,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- nvidia-kmod.spec 18 Jan 2009 17:23:06 -0000 1.24
+++ nvidia-kmod.spec 25 Jan 2009 11:23:53 -0000 1.25
@@ -8,7 +8,7 @@
Name: nvidia-kmod
Version: 180.22
# Taken over by kmodtool
-Release: 1%{?dist}.2
+Release: 1%{?dist}.3
Summary: NVIDIA display driver kernel module
Group: System Environment/Kernel
License: Redistributable, no modification permitted
@@ -94,6 +94,9 @@
%changelog
+* Sun Jan 25 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 180.22-1.3
+- rebuild for latest Fedora kernel;
+
* Sun Jan 18 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 180.22-1.2
- rebuild for latest Fedora kernel;
15 years, 10 months